我想真正的问题是如何将 base2/binary 转换为 base10。最常见的应用可能是创建输出字符串:将二进制数字数据块转换为字符数组。这具体是如何完成的?
我猜:鉴于可能没有为每个数值预定义一个字符串,我猜测计算机从右到左遍历整数的每一位,每次递增 char 数组/base10 表示法位置中的适当值。如果我们取二进制数 160 (10100000),它就会知道第 8 位的 1 表示 128,因此它将 1 放入第三列,2 放入第二列,8 放入第三列。第 6 列中的 1 表示 32,它会将这些值添加到第二位和第一位,并在需要时继续保留。之后就可以轻松转换为实际的字符代码。
while number != 0:
nextdigit = number % 10
AddToLeft(result, convert nextdigit to char)
number = number / 10
留给读者处理零和负数的练习。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)