为什么char的范围是-128到127,而不是-127到128?

如题所述

第1个回答  2013-02-09
http://zhidao.baidu.com/question/100046409.html看看这个吧
signed char -128-127 相当于是10000000,01111111

char类型的取值范围为何是-128~127,怎么算的啊
1,char类型是8位,最高位是符号位,0正1负,所以01111111是127。2,-127是10000001,而10000000换算过来就是-128。1, “一个n位有符号int型数值,其范围为-2^(n-1) ——2^(n-1) -1”。导致此情况的根本原因是“人们解决问题时,习惯以人的思维思考问题。2,计算机本身确实以机器的思维进...

1字节的表示范围为-128到127,为什么不是-128到128
在计算机中一般来说,一个字节8位,即可表示 2^8=256,有符号数那就是-128到128了,但实际表示的范围是-128到127。在补码中用(-128)代替了(-0),所以补码的表示范围为: (-128~0~127)共256个.-1-127的结果应该是-128,在用补码运算的结果中, [1000 0000]补 就是-128。但是注意因为实际...

为什么8位的二进制补码范围是-128~127,而不是-127--127呀??为什么差一...
于是就引入了补码概念. 负数的补码就是对反码加一,而正数不变,正数的原码反码补码是一样的.在补码中用(-128)代替了(-0),所以补码的表示范围为:(-128~0~127)共256个.注意:(-128)没有相对应的原码和反码, (-128) = (10000000)参考资料:http:\/\/zhidao.baidu.com\/question\/4319911.html ...

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

char的取值范围
char的取值范围是“-128~127”,对于符号绝对值编码法、反码记法,char的取值范围是“-127~127”。char有8位,最高位是符号位,所以char可以在“-127~127”取值。char是一个字节类型。由8位组成。char又分为signedchar(有符号类型)和unsignedchar(无符号类型)。通常,我们的理解是将char作为signed...

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

char的范围是多少
-128~127char是一个8位的有符号类型,他的取值范围是-128~127,当超过最大值时,自动从最小值开始往上加,也就是说如果a=128,那么他实际上是-128。char型数据是计算机编程语言中只可容纳单个字符的一种基本数据类型,可用于C或C++中定义字符型变量,只占一个字节(8位),取值范围为-128~+127...

c语言 1个字节 范围为什么是 -128 — 127,-128怎么算的
正数一个字节最大只能是127,128超过了一个字节能表示的最大值,127是01111111,加1, 00000001等于 10000000,最高为是2的7次方等于128,由于一个字节的最大值是127,所以128就只能是-128,但是这里的符号位应该是补全的码,由于只有一个字节看不到 ...

为什么8bit限制是-128到127而不是-127到128?
探讨为何8位二进制限制在-128到127范围,而不是-127到128。答案并非表面那么简单。当初选择“补码”形式,背后隐藏着深奥逻辑。8位二进制提供256种表示,ASCII码利用其中大部分,但对数字存储效率低。原码直接用二进制表示数字,可以覆盖0至255,但处理负数需引入符号位,形成-127至127范围。然而,直接...

...一个有符号的整数,其取值是(-128,+127),为何不是(-127,+127...
计算机中负数是由正数的反码加一也就是补码表示,另外第一位数也包含符号位的意思,所以第一位为1都代表是负数,所以虽然1000 0000也是128的二进制数,但首位作为符号位,所以1000,0000就表示-128

相似回答