自己写:把整数写成补码位串

自己写:把整数写成补码位串

补全 to_bits:负数先加 256,再逐位取出八位。这和上一题正好互为逆运算,两题的结果要能对得上。

阅读更多 →
自己写:把补码位串读成整数

自己写:把补码位串读成整数

补全 to_int:先当成无符号读出来,最高位是 1 的话再减去 256。

阅读更多 →
负数写成八位是什么样

负数写成八位是什么样

运行下面这段程序,填写它打印出来的结果。 print(format(-1 & 0xFF, "08b") + "/" + format(-56 &

阅读更多 →
两条路算同一件事

两条路算同一件事

运行下面这段程序,填写它打印出来的结果。 b = 0b11001000 print(str(b - 256) + "/" + str((b ^ 0xFF) + 1))

阅读更多 →
为什么负数比正数多一个

为什么负数比正数多一个

八位补码里,负数有 128 个、正数只有 127 个。原因是【0】。

阅读更多 →
八位补码能表示多大范围

八位补码能表示多大范围

八位补码能表示的整数范围是【0】。

阅读更多 →
同一串位,换个读法是几

同一串位,换个读法是几

还是 n02 那串 11001000。这次说好按八位补码读,它是【0】。

阅读更多 →
补码到底省了什么事

补码到底省了什么事

机器里表示负数有好几种办法,最后大家都用补码,最实在的好处是【0】。

阅读更多 →
自己写:把十六进制串读成整数

自己写:把十六进制串读成整数

不许用 int(s, 16)。补全 from_hex:从左往右,每读一位就把已有结果乘 16 再加上这一位的值。

阅读更多 →
自己写:把整数变成二进制串

自己写:把整数变成二进制串

不许用 bin()。补全 to_bin:不停地除以 2,把余数从后往前拼起来。两个数一起输出,用 / 隔开。

阅读更多 →