原文:为什么一个字节可以表示的有符号整数的范围是-128~+127?

为什么是 对于一个字节来说,能够表示的整数为什么不是 ,也不是 ,而是 对于有符号整数的表示和具体的编程语言无关,而是由硬件决定的,我们能想到的最简单的方法就是用其中一位表示符号,剩余七位用来表示数据位。 但这种方法有一个缺陷,就是会有 和 两个 ,能够表示的数据只有 ,同时使用两个位组合表示同一个数字有些浪费,补码很好的解决了这一问题。 首先,对于正数的表示方法,与上述方法相同,但对于负数,首先 ...

2020-04-07 20:45 0 3036 推荐指数:

查看详情

为什么一个字节的补码表示范围是-128~127

转载自https://blog.csdn.net/ai_yue/article/details/82777806 我们要先区分一下原码、反码和补码的表示规则: 0的表示: 原码:有正零和负零之分,[+0]补=0000 0000,[-0]补=1000 ...

Tue Mar 12 03:47:00 CST 2019 2 3522
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
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
符号的char类型取值范围为什么是-128——127

以前经常看到带符号的char类型取值范围是-128——127,今天突然想为什么不是-127——127,-128是怎么来的? 127好理解,char类型是8位,最高位是符号位,0正1负,所以01111111是127。 但是-128是怎么来的呢?11111111不是-127 ...

Wed Jul 31 07:54:00 CST 2013 0 2671
十万个为什么——为什么8bit有符号整型的范围是-128127

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

Sat Jul 14 07:33:00 CST 2018 0 854
一个字节多少位

前几天笔试发现这个问题有点模糊,囧,记录一下: 1字节(byte) = 8位(bit) 在16位的系统中(比如8086微机) 1字 (word)= 2字节(byte)= 16(bit) 在32位的系统中(比如win32) 1字(word)= 4字节(byte)=32(bit ...

Sun Sep 22 19:02:00 CST 2019 0 3071
关于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
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM