为什么8位二进制的补码取值范围是-128~127

请在帮忙回答一下8位二进制的原码和反码的范围是-127~127

第1个回答  2022-03-09

在计算机系统中,数值一律用补码来表示和存储。

八位的补码,共有 256 组,分别代表 256 个数字。

0~127,这是 128 个。

-1~-128,也是 128 个。

即:正负数值,和补码,是一一对应的。

因此,使用补码,不会产生任何歧义。

----------------------

而在原码和反码中,一个零,都有两组代码。

那么,它们的表示范围,就只有-127~+127。

由此可知,原码与反码和数值,并非是一一对应。

这就是说:原码和反码,其定义,就都是错误的。

因为它们不合理,所以,在计算机中,根本就不用原码和反码。

所以,在计算机系统中,数值,一律用补码来表示和存储。

原码和反码,就不用关心了。

第2个回答  2010-03-22
这个是有符号的,八位的最高位表示符号位,1为负,0为正
所以范围是:1111 1111 ——0111 1111
第3个回答  2010-03-22
0到127 二进制为 00000000到01111111
-128到-1 二进制为10000000到11111111本回答被提问者采纳
第4个回答  2019-12-22
对8位二进制的博马取值范围是128~127这个问题呢,我还正在讨论中,还没有完全正确的结果。
第5个回答  2020-04-16
https://cloud.tencent.com/developer/article/1353672

看这个就好了,讲的很全面很清楚

为什么8位二进制的补码取值范围是-128~127
8位二进制的范围就是-128~127,也就是-2^7~2^7-1,所以反码也是这样。计算机对有符号数(包括浮点数)的表示有三种方法:原码、反码和补码 8位原码能够表示数的范围是 -127~127 8位反码能够表示数的范围是 -127~127 8位补码能够表示数的范围是 -128~127 既然范围是-128~127,那肯定是用补码...

为什么8位二进制的补码取值范围是-128~127
八位二进制正数的补码范围是0000 0000 ~ 0111 1111 即0 ~ 127,负数的补码范围是正数的原码0000 0000 ~ 0111 1111 取反加一(也可以理解为负数1000 0000 ~ 1111 1111化为反码末尾再加一);所以得到 1 0000 0000 ~ 1000 0001,1000 0001作为补码,其原码是1111 1111(-127),依次往前推,可得到...

8个二进制位补码表示带符号正数取值范围为什么是[-128,127]呢?
1.因为原码的8位二进制的范围就是-128~127,也就是-2^7~2^7-1,所以反码也是 2.原码中,10000000的1指的是符号位,后面的0才是有效的,第一位1代表负数,0代表正数,另外没有正负0之分,统一表示为10000000,所以原码的表示范围是11111111~01111111 ...

在c语言中八位二进制负数最小范围是从-128到127求解。
不仅是C语言。在计算机中,八位有符号整数的表示范围都是-128~+127.这是因为计算机采用补码来表示整数。计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。在计算机系统中,数值...

为什么带符号的8位二进制数是-128~127啊!而不是-127~127啊!
因为一个带符号数和一个不带符号数一样,8位能表示256个值,如果是-127~127的话,只有255个数!根据补码原则,0000 0000表示0,而1000 0000却不能表示-0,所以根据原则可知,-1000 0000表示的是-128.这就是为什么8位带符号数的范围是-128~127之间了!

为什么8位的二进制补码范围是-128~127,而不是-127--127呀??为什么差一...
数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负).这就是机器数的原码了.假设机器能处理的位数为8.即字长为1byte,原码能表示数值的范围为 (-127~-0 +0~127)共256个.? 有了数值的表示方法就可以对数进行算术运算.但是很快就发现用带符号位的原码进行乘除运算时结果正确,而在...

8个二进制位补码表示带符号正数取值范围为什么是[-128,127]呢?
1.因为原码的8位二进制的范围就是-128~127,也就是-2^7~2^7-1,所以反码也是 2.原码中,10000000的1指的是符号位,后面的0才是有效的,第一位1代表负数,0代表正数,另外没有正负0之分,统一表示为10000000,所以原码的表示范围是11111111~01111111 ...

为什么8位的二进制补码范围是-128-127,而不是-127-127呀?为什么差一...
虽然“-0”也是“0”,但根据正、反、补码体系,“-0”的补码和“+0”是不同的,这样就出现两个补码代表一个数值的情况。为了将补码与数字一一对应,所以人为规定“0”一律用“+0”代表。同时为了充分利用资源,就将原来本应该表示“-0”的补码规定为代表-128。

...采用补码形式(其中1位为符号位),则机器数所能表示的范围是-128...
补码的设计,使得它能表示的数为包含0,且正负各一半(负数多一个),它的特点是符号位可以连同数据位一起进行加法运算,减去一个数就等于加上这个数的相反数,且求一个数的相反数很方便,所以加减法可以统一由加法器来实现。因为8位二进制共有256种不同的状态,所以采用被码时表示的范围为-128---...

8位二进制表示数的范围为什么是-128~127
8位补码能够表示数的范围是 -128~127 既然范围是-128~127,那肯定是用补码表示的。计算机没有你想象的那么聪明,能够自觉的对正数和负数进行区分和识别,所以我们人类就给他们制定了一系列规则:我们把最高位规定为符号位,1为负,0为正;1000 0000——1111 1111表示-128到-1, 0000 0000——0111...

相似回答