我让 Gemini 搞定了 2 的幂判断(包括是不是 2 的幂,是 2 的多少次幂)

2026-04-11 15:011阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:

  • 我的帖子已经打上 开源推广 标签:
  • 我的开源项目完整开源,无未开源部分:
  • 我的开源项目已链接认可 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的位操作直接被映射编译为对应的汇编,所以直接写简单的位操作就行,以后很可能也没优化的可能。