十进制66 转换到二进制数
66 33168 4 2 10 1 0 0 0 0 1这个数值只有33后面还有个0才达到数值66
我初步估计是不是整除 2的数要加多一个0 本帖最后由 Hello. 于 2022-9-3 00:15 编辑
1000010
将数字除以2。
获取下一次迭代的整数商。
获取其余的二进制数字。
重复这些步骤,直到商等于0 def foo(n):
s = ''
while n:
s = str(n % 2) + s
n //= 2
return s
print(foo(66)) Hello. 发表于 2022-9-3 00:14
将数字除以2。
获取下一次迭代的整数商。
获取其余的二进制数字。
我也理解啊但后期1除2 不是结束了吗 Hello. 发表于 2022-9-3 00:14
将数字除以2。
获取下一次迭代的整数商。
获取其余的二进制数字。
好像到最后结果是多一个零 gaoxiuhua520 发表于 2022-9-3 01:44
好像到最后结果是多一个零
短除法是从后向前查数
0 1 0 0 0 0 1这个数值只有33后面还
你这个反过来就是答案 66
的
二进制
是
1000010
计算二进制数,除 2 取余法,后再将得到的余数取倒叙
你忘记取倒叙了,所以 01 0 0 0 0 1 相当于 1 0 0 0 0 1 转换为十进制恰好为 33
但是倒叙后应该为1 0 0 0 0 10 这才是 66 的二进制
以八位二进制举例 , 每个二进制代表不同的数值 , 只需要从大到小依次凑出 66 即可
先凑 64 , 还余 2 , 再给 2 就完成了 , 减号是符号位
- 64 32 168421 # 66
01000010
页:
[1]