原文:带符号的char类型取值范围为什么是-128——127

以前经常看到带符号的char类型取值范围是 ,今天突然想为什么不是 , 是怎么来的 好理解,char类型是 位,最高位是符号位, 正 负,所以 是 。 但是 是怎么来的呢 不是 吗 后来想起来计算机里面所有数都是用补码表示的,正数补码是其本身,负数补码是原码的反码加 。 所以 是 ,而 换算过来就是 。 所以, 位有符号的整数取值范围的补码表示 到 , 再到 即 到 , 再到 最终 补充说明 一个 ...

2013-07-30 23:54 0 2671 推荐指数:

查看详情

关于byte的取值范围(-128~127

在Java中,byte的长度是一个字节,最高位是符号位。 那么正数最大是0111 1111,换算成十进制是127;最小的负数是1111 1111,即-127。 但是有一个特殊的数:0或-0,用来表示-128。 Java语言中没有无符号类型,都是有符号类型的数据类型。这就是为什么取值范围 ...

Fri Oct 26 21:56:00 CST 2018 0 921
为什么byte的取值范围是-128127

一个byte由八个位组成,如00000000,其中,符号位+数值位,前7位表示数值,第8位是符号位(0为正,1为负)。这样+1就是00000001,-1就是10000001。最大的正数就是0 1111111,即2^0+2^1+……+2^6=127;最小的负数,同理,为1 1111111,即-127 ...

Mon Feb 11 22:26:00 CST 2019 0 1184
java中为什么byte的取值范围是-128到+127

概念:java中用补码表示二进制数,补码的最高位是符号位,最高位为“0”表示正数,最高位为“1”表示负数。正数补码为其本身;负数补码为其绝对值各位取反加1;例如:+21,其二进制表示形式是00010101,则其补码同样为00010101-21,按照概念其绝对值为00010101,各位取反 ...

Thu Jul 28 08:23:00 CST 2016 0 19803
C语言 1字节signed char范围为什么是-128~127?

参考 1. 关于 -128 ,+128,-0,+0,-1 的反码补码 | 博客园 2. 八位二进制数为什么表示范围(-128~~+127)理解 | 博客园 无符号单字节范围符号单字节unsigned char位宽是8bit,范围[0, 1111 1111b],也就是[0, 255 ...

Sun Oct 21 05:09:00 CST 2018 0 704
8位字节表示的有符号范围是-128~127

1 计算机中数值都是按补码来存储的。 原码(原码是带符号位的):第一位表示符号位,0表示正数,1表示负数。符号位加上真值的绝对值 比如 0 0 0 0 0 0 0 1 表示正1 1 0 0 0 0 0 0 1 表示负1 反码:正数的反码就是原码, 负数 ...

Sun Aug 19 21:20:00 CST 2018 0 1612
十万个为什么——为什么8bit有符号整型的范围是-128127

从谭浩强的C语言到我现在手上的这本C++ Primer Plus,几乎所有的书都是这么说的。说来惭愧,我从来没有研究过为什么是这个范围,以前每次看到这里就头疼,甚至知道考试要考也不背。 之前我也研究过,但是今天看到这里,又疑惑了。 所以,我还是没弄清楚! 先说说我的想法 ...

Sat Jul 14 07:33:00 CST 2018 0 854
为什么一个字节可以表示的有符号整数的范围是-128~+127

为什么是-127~128?   对于一个字节来说,能够表示的整数为什么不是-127~+127,也不是-127~+128,而是-128~+127   对于有符号整数的表示和具体的编程语言无关,而是由硬件决定的,我们能想到的最简单的方法就是用其中一位表示符号,剩余七位用来表示数据位 ...

Wed Apr 08 04:45:00 CST 2020 0 3036
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM