老哥们, 16 进制转 2 进制的问题

2018-12-30 14:51:00 +08:00
 bhy5899s
9ab6b49dac68c4c37f35dcf166d41b197eb25a82d023000f0aebcb05ba90fa2b
上面这一串 16 进制,用程序转成二进制以后是:
1001101010110110101101001001110110101100011010001100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
这样除了前面 14 个字符对上了以外,后面的全部都变成 0 了,这是一个什么局面呢?
1740 次点击
所在节点    问与答
9 条回复
momocraft
2018-12-30 14:52:33 +08:00
转错了呗.. :doge:
loading
2018-12-30 14:54:34 +08:00
没代码,靠猜?
boris1993
2018-12-30 15:05:27 +08:00
不放出你的程序让我们用脚猜啊
dremy
2018-12-30 15:08:38 +08:00
怕不是溢出了? 53 位是 js 的最大安全整数限制

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER

建议不要用整数进行处理
Mohanson
2018-12-30 16:18:00 +08:00
16 进制字符串转 2 进制字符串的时候要注意在转换过程中大脚趾要微微上扬
jaggertime
2018-12-30 16:18:11 +08:00
你应该先转成 10 进制,再转成 2 进制。
自己写个大数算法。
May725
2018-12-30 16:41:21 +08:00
既然是 16 进制,那每两个字符转为二进制,再字符串相加就可以了
ghostheaven
2018-12-30 16:47:20 +08:00
Talk is cheap. 掏出你的代码来
shiye515
2018-12-31 09:49:18 +08:00
@jaggertime 本来都可以口算的问题,你这一搞麻烦大了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/522535

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX