我让 Gemini 搞定了 2 的幂判断(包括是不是 2 的幂,是 2 的多少次幂)
- 内容介绍
- 文章标签
- 相关推荐
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
仓库链接我已经放在最后了,拉下去看
d85f4768e37dc896b833fbae1b376f551114×1295 24.4 KB
fe8ba3c2d77ef361a32f177cfbe2fd0f1036×1247 94.2 KB
87f937dd2643fb71aa02ca447cb977fb1087×1255 40.3 KB
这是最初的代码,一看就很有 C 的味道。
421db6dcb0a7fa3128b0fa66b62842521150×1282 27 KB
85207f60e11ead5dd2f6b1759e56a4041136×1269 93 KB
661cfb0520a2b7eb8bab8f78139abfa71230×1292 86.2 KB
后来修改了一下,不过还是有点小问题
542021edc3d28a26cec34561f14798c31112×1280 59.9 KB
cf780e95e4c03a956ab9badda54b96de1097×1285 83.6 KB
e6d68065da1c2e5385157323234607a81150×1261 58.9 KB
到这里,判断是不是 2 的幂这一部分已经搞定了
9388e623846c0820e66adc5a32068d6d1149×1262 24.4 KB
f74f5cdebc12cf5d2adf651f988a74e71160×1265 23.3 KB
b8ecd94d3f2a04524442343c7212d70f1383×1223 83.9 KB
引入了判断是 2 的多少次幂的部分(虽然漏洞百出)
d1715e98acb85f4eeff65b3b16f7b12c1082×1265 55.9 KB
f74f5cdebc12cf5d2adf651f988a74e71160×1265 23.3 KB
ad73659648f9bc1e5e1ca7adcb1a56c61175×1294 84.4 KB
bd7039f86147eede0b033e81486520d71126×1306 33.8 KB
148ada39bd83dfb4197ec50226f6e8d21172×998 81.1 KB
最终,Gemini 将这两个文件合并成了一个文件。
此外,我还自己写了一个测试程序让 Kimi 分析
image1668×1319 76.5 KB
image787×1300 17.6 KB
{0FD35C99-89E2-46D7-8B23-217E10683D98}992×1305 43.2 KB
{21DEB47D-F9B5-462F-841C-F1A9E0AD1D0F}851×1249 46.8 KB
image851×1253 47.6 KB
到这里,库和测试程序已经完成了。我把它们放到 GitHub 上了,欢迎大家测试!
MarchBeta2087/pow2_utils
网友解答:--【壹】--:
额 太吃操作了
--【贰】--:
再接再厉哇佬友
--【叁】--:
具体讲讲?
--【肆】--:
有点超纲了,下辈子再看
--【伍】--:
ASM 这玩意很少人会的…我可没那么厉害,也没那么多时间去搞什么 ASM
--【陆】--:
何意味,想要极度优化直接在C里用asm写汇编就好了。实际上C的位操作直接被映射编译为对应的汇编,所以直接写简单的位操作就行,以后很可能也没优化的可能。
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
仓库链接我已经放在最后了,拉下去看
d85f4768e37dc896b833fbae1b376f551114×1295 24.4 KB
fe8ba3c2d77ef361a32f177cfbe2fd0f1036×1247 94.2 KB
87f937dd2643fb71aa02ca447cb977fb1087×1255 40.3 KB
这是最初的代码,一看就很有 C 的味道。
421db6dcb0a7fa3128b0fa66b62842521150×1282 27 KB
85207f60e11ead5dd2f6b1759e56a4041136×1269 93 KB
661cfb0520a2b7eb8bab8f78139abfa71230×1292 86.2 KB
后来修改了一下,不过还是有点小问题
542021edc3d28a26cec34561f14798c31112×1280 59.9 KB
cf780e95e4c03a956ab9badda54b96de1097×1285 83.6 KB
e6d68065da1c2e5385157323234607a81150×1261 58.9 KB
到这里,判断是不是 2 的幂这一部分已经搞定了
9388e623846c0820e66adc5a32068d6d1149×1262 24.4 KB
f74f5cdebc12cf5d2adf651f988a74e71160×1265 23.3 KB
b8ecd94d3f2a04524442343c7212d70f1383×1223 83.9 KB
引入了判断是 2 的多少次幂的部分(虽然漏洞百出)
d1715e98acb85f4eeff65b3b16f7b12c1082×1265 55.9 KB
f74f5cdebc12cf5d2adf651f988a74e71160×1265 23.3 KB
ad73659648f9bc1e5e1ca7adcb1a56c61175×1294 84.4 KB
bd7039f86147eede0b033e81486520d71126×1306 33.8 KB
148ada39bd83dfb4197ec50226f6e8d21172×998 81.1 KB
最终,Gemini 将这两个文件合并成了一个文件。
此外,我还自己写了一个测试程序让 Kimi 分析
image1668×1319 76.5 KB
image787×1300 17.6 KB
{0FD35C99-89E2-46D7-8B23-217E10683D98}992×1305 43.2 KB
{21DEB47D-F9B5-462F-841C-F1A9E0AD1D0F}851×1249 46.8 KB
image851×1253 47.6 KB
到这里,库和测试程序已经完成了。我把它们放到 GitHub 上了,欢迎大家测试!
MarchBeta2087/pow2_utils
网友解答:--【壹】--:
额 太吃操作了
--【贰】--:
再接再厉哇佬友
--【叁】--:
具体讲讲?
--【肆】--:
有点超纲了,下辈子再看
--【伍】--:
ASM 这玩意很少人会的…我可没那么厉害,也没那么多时间去搞什么 ASM
--【陆】--:
何意味,想要极度优化直接在C里用asm写汇编就好了。实际上C的位操作直接被映射编译为对应的汇编,所以直接写简单的位操作就行,以后很可能也没优化的可能。

