早教吧 育儿知识 作业答案 考试题库 百科 知识分享

一个字节表示数据的范围在看书中有这么一段:字长为八位的寄存器,表示数据范围为:-128---+127最小数10000000最大数01111111我的疑问是书中说最高位用来存放符号位,0表正,1

题目详情
一个字节表示数据的范围
在看书中有这么一段:
字长为八位的寄存器,表示数据范围为:-128 --- +127
最小数 1 0 0 0 0 0 0 0
最大数 0 1 1 1 1 1 1 1
我的疑问是书中说最高位用来存放符号位,0表正,1表负。那最小数的符号位已经被符号数1占住了,并不表示任何数值只表示符号。那最小数应该是-127(应该是1 1 1 1 1 1 1 1).难道最小数中的1又表示符号负数,又表示二进制数1?
▼优质解答
答案和解析
在计算机中,是用补码形势表示二进制数。
正数的补码是其本身;
负数的补码:符号位为1,其余位为该数绝对值的原码按位取反,然后加1。
所以最小数 1 0 0 0 0 0 0 0 是补码形式;
它的数值绝对值应该是各位取反再加1,即为
0 1 1 1 1 1 1 1 + 1 = 1 0 0 0 0 0 0 0 = 128
又因为是负数,所以是 - 128
而最大数 是正数 原码和补码一样 +127