八位二进制数为什么表示范围(-128~~+127)理解
程序员文章站
2022-07-15 09:58:24
...
计算机对带符号数的表示有三种方法:原码、反码和补码。
8位原码和反码能够表示数的范围是-127~127。
8位补码能够表示数的范围是 -128~127。
范围是-128~127,那肯定是用补码表示的。 10000000-11111111表示-128到-1, 00000000-01111111表示0-127 补码的1111 1111转换成原码就是1000 0001,也就是-1,补码就是二进制表示负数的一种方法。
引入了补码概念:负数的补码就是对反码加一,而正数不变,正数的原码反码补码是一样的。在补码中用(-128)代替了(-0),所以补码的表示范围为:(-128~0~127)共256个。
注意:(-128)没有相对应的原码和反码,(-128) = (10000000)。
所谓原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
上一篇: React Native 封装金额自动保存两位小数组件
下一篇: C语言中关于二进制的换算