2025-11-20 06:29:23
原码就是正负数用二进制表示的一种方法,正数符号位是0,负数符号位是1,数值部分直接写绝对值的二进制。比如-128的符号位是1,绝对值128的二进制是10000000,所以原码就是10000000。不过这里有个小问题,因为8位二进制原码最大只能表示-127到+127,所以-128需要扩展到16位,也就是符号位1后面跟着10000000,组合成00000。
为什么答案是00000呢?首先得明白原码规则:符号位决定正负,数值位只写绝对值。128的二进制是10000000,但8位不够存,必须用16位。前8位符号位和数值位各占一半,所以-128的符号位是1,数值位是10000000,连起来就是00000。数据上验证过,比如用计算器算128的二进制确实是10000000,扩展到16位后符号位加1,结果符合预期。不过要注意,如果只用8位的话,-128根本没原码,所以必须用16位才能表示。听的时候可能会把“10000000”听成“100000000”,或者标点标错,比如写成“1000”,但意思不变。
本题链接: