![](https://img2020.cnblogs.com/blog/2587651/202110/2587651-20211021104156975-1698140221.png)
1字节8位二进制
取值范围就是位数次方
计算机存储单位一般用B,KB,MB,GB,TB,EB,ZB,YB,BB来表示,它们之间的关系是:
位 bit (比特)(BinaryDigits):存放一位二进制数,即 0 或 1,b是最小的存储单位。
字节 byte:8个二进制位为一个字节(B),B是最常用的单位。1B=8b
1KB (Kilobyte千字节)=1024B,
1MB(Megabyte 兆字节简称“兆”)=1024KB,
1GB (Gigabyte 吉字节又称“千兆”)=1024MB,
1TB (Trillionbyte万亿字节太字节)=1024GB,其中1024=2^10 ( 2 的10次方),
1PB(Petabyte 千万亿字节拍字节)=1024TB,
1EB(Exabyte百亿亿字节艾字节)=1024PB,
1ZB(Zettabyte 十万亿亿字节 泽字节)= 1024 EB,
1YB (Jottabyte 一亿亿亿字节 尧字节)= 1024ZB,
1BB (Brontobyte一千亿亿亿字节)= 1024 YB.
注:“兆”为百万级数量单位。
byte类型范围
byte类型占8位字节。其范围【-128,127】解释如下:
正数在计算机内原码,反码,补码一致,最高位为符号位:
1的原码为0 000 0001
127的原码为0 111 1111
2^0 + 2^1+…+ 2^6 = 2^7-1
所以最大的正整数是127
负数在计算机中表示为补码,最高位为符号位:
-1:
原码为1000 0001,
反码为1111 1110,
补码为1111 1111
-127:
原码为1111 1111,
反码为1000 0000,
补码为1000 0001
所以最小的负数是-127吗?错,不是。
在二进制中,0有两种表示方法。
+0的原码为0000 0000,
-0的原码为1000 0000,
因为0只需要一个,所以把-0拿来当做一个最小的数-128
-128的补码表示为1000 0000,在8位没有原码。
注意,这个补码并不是真正的补码,真正的补码是1 1000 0000,溢出。
范围【-128,127】