这是因为8位字长的原码、反码和补码是按照二进制补码表示法进行编码的。\n\n首先,原码的表示范围是由二进制数的最高位决定的,如果是1,表示为负数,如果是0,表示为正数。对于8位字长的原码,最高位是符号位,剩下的7位是数值位。因此,最大的正数是0111111(+127),最小的负数是1000000(-127),所以原码的范围是-127~127。\n\n接下来是反码,反码的规则是正数的反码和原码相同,负数的反码是将原码除了符号位以外的所有位取反。对于8位字长的反码,最大的正数的反码和原码相同,也是0111111(+127),最小的负数的反码是1111111(-127),所以反码的范围也是-127~127。\n\n最后是补码,补码的规则是正数的补码和原码相同,负数的补码是将反码末位加1。对于8位字长的补码,最大的正数的补码和原码相同,也是0111111(+127),最小的负数的补码是10000000(-128),所以补码的范围是-128~127。\n\n无符号的表示范围是通过将所有位都当作数值位来表示的,不涉及符号位。对于8位字长的无符号数,所有位都是数值位,所以最大的无符号数是11111111(+255),最小的无符号数是00000000(0),所以无符号的表示范围是0~255。

8 位字长原码、反码、补码和无符号数的表示范围详解

原文地址: https://www.cveoy.top/t/topic/pXZt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录