我有一个二进制数,我想用十进制表示。数量如下:
Binary = 1000 11100000 00000000 00000000 00000000 00000000 01101110 10110000 10100101
它的等效十六进制表示如下:
Hexadecimal = 08 E0 00 00 00 00 6E B0 A5
我正在使用Windows 7并尝试在程序员模式下使用计算器与Bin(二进制)和Qword。但是,它有64位的限制。
问题:
答案 0 :(得分:5)
首先确定您的平台将支持多大的二进制数。让我们说它是64.将二进制数除以64的块并按正常方式执行低阶块。现在,下一个块的低位表示2 64 。将该块转换为常规数字,但将其乘以2 64 。您可以根据需要多次使用此技术。下一个块你将乘以2 128 ,然后下一个2 192 等等。
答案 1 :(得分:0)
答案 2 :(得分:0)
更容易的解决方案可能是从另一方开始工作。生成10的所有幂的二进制表示:0x1, 0xA, 0x64, 0x3E8, 0x2710, ...
,直到10的幂大于您的数字。然后,计算每次10次发生的次数(当然最多9次)。
因此0x2F
为4 * 0xA + 7 * 0xA
,即47位小数。