2022-11-08 16:04发布
1 0 0 0 1 1 1 1 -1 = 10 0 0 1 1 1 0 反回来 1 1 1 1 0 0 0 1 为-57
首先确定符号位,要最小数,那么1表示负数,最高位用了一个1,然后既然是负数,存储就是补码,补码要返回去读出来的时候就要-1再反一次码比如1111 0011,他是负数,读取出来就是先-1,1111 0010,然后排除符号位取反,1000 1101,这显然不是最大的,所以我们看出来,不考虑符号位,1越在前面,读出来的绝对值反而越小,而要最小数字,在负数情况下,绝对值要越多越好,,所以要把1放在最后,就是1000 1111,读出来就是 -113
补码的每一位,都代表一个数值。
在八位的补码中,最高位的 1,就代表-128。
其余位,都是正数。
各位的数值如下所示:
----------------------------
位置: 最高位 bit6 bit5 bit4 bit3 bit2 bit1 末位
数值:-128 64 32 16 8 4 2 1
你希望得到最小值,显然,-128,就必须选中。
其它位都是正数,就应该尽量选小的。
所以,最小值的补码,就是: 1 0 0 0 1 1 1 1。
它代表的数值,就是:-128 + 8 + 4 + 2 + 1 =-113。
如果组成最大值,那么就是:0 1 1 1 1 1 0 0。
它代表的数值,就是: 64 + 32 + 16 + 8 + 4 =+124。
-113,用5个1和3个0组成的二进制补码数,可表示的最小十进制数为:-113,其对应的二进制数为:10001111B。
8位无符号二进制数能够表示:0~255;8位有符号二进制数能够表示:-128~127。
计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
扩展资料:
二进制补码计算
正数的补码表示:正数的补码 = 原码
负数的补码 = {原码符号位不变} + {数值位按位取反后+1} or= {原码符号位不变} + {数值位从右边数第一个1及其右边的0保持不变,左边安位取反}
以十进制整数+97和-97为例:
一、+97原码 = 0110_0001b
二、+97补码 = 0110_0001b
三、-97原码 = 1110_0001b
四、-97补码 = 1001_1111b
参考资料:百度百科-补码
8位二进制补码表示整数的范围是+127~-128。最小的十进制整数应当是个负整数。那么除了最高位(符号位)为1之外,其低7位绝对值越大,离数轴原点0越近,例如11111111表示-1;绝对值越小,离数轴原点越远,例如10000000表示-128。因此,5个1中有一个用于表示符号位(负数),低7位中4个1、3个0,其绝对值越小,离数轴原点越远,所表示的十进制整数就越小。所以4个1和3个0就应当是0001111,加上符号位就是10001111。本回答被提问者采纳
最多设置5个标签!
1 0 0 0 1 1 1 1 -1 = 10 0 0 1 1 1 0
反回来 1 1 1 1 0 0 0 1 为-57
首先确定符号位,要最小数,那么1表示负数,最高位用了一个1,
然后既然是负数,存储就是补码,
补码要返回去读出来的时候就要-1再反一次码
比如1111 0011,他是负数,读取出来就是先-1,1111 0010,然后排除符号位取反,1000 1101,这显然不是最大的,
所以我们看出来,不考虑符号位,1越在前面,读出来的绝对值反而越小,而要最小数字,在负数情况下,绝对值要越多越好,,所以要把1放在最后,就是1000 1111,读出来就是 -113
补码的每一位,都代表一个数值。
在八位的补码中,最高位的 1,就代表-128。
其余位,都是正数。
各位的数值如下所示:
----------------------------
位置: 最高位 bit6 bit5 bit4 bit3 bit2 bit1 末位
数值:-128 64 32 16 8 4 2 1
----------------------------
你希望得到最小值,显然,-128,就必须选中。
其它位都是正数,就应该尽量选小的。
所以,最小值的补码,就是: 1 0 0 0 1 1 1 1。
它代表的数值,就是:-128 + 8 + 4 + 2 + 1 =-113。
如果组成最大值,那么就是:0 1 1 1 1 1 0 0。
它代表的数值,就是: 64 + 32 + 16 + 8 + 4 =+124。
-113,用5个1和3个0组成的二进制补码数,可表示的最小十进制数为:-113,其对应的二进制数为:10001111B。
8位无符号二进制数能够表示:0~255;8位有符号二进制数能够表示:-128~127。
计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
扩展资料:
二进制补码计算
正数的补码表示:正数的补码 = 原码
负数的补码 = {原码符号位不变} + {数值位按位取反后+1} or= {原码符号位不变} + {数值位从右边数第一个1及其右边的0保持不变,左边安位取反}
以十进制整数+97和-97为例:
一、+97原码 = 0110_0001b
二、+97补码 = 0110_0001b
三、-97原码 = 1110_0001b
四、-97补码 = 1001_1111b
参考资料:百度百科-补码
8位二进制补码表示整数的范围是+127~-128。最小的十进制整数应当是个负整数。那么除了最高位(符号位)为1之外,其低7位绝对值越大,离数轴原点0越近,例如11111111表示-1;绝对值越小,离数轴原点越远,例如10000000表示-128。
因此,5个1中有一个用于表示符号位(负数),低7位中4个1、3个0,其绝对值越小,离数轴原点越远,所表示的十进制整数就越小。所以4个1和3个0就应当是0001111,加上符号位就是10001111。本回答被提问者采纳
一周热门 更多>