字节、字、bit、byte的关系


本文参考:https://blog.csdn.net/wanlixingzhe/article/details/7107923/ ,在此基础上进行删减以及加上自己的理解。

位:bit,来自英文bit,音译为“比特”,表示二进制位。计算机中最小、最基本的单位,在二进制电脑系统中,1 bit可以代表 0 或 1 的数字信号。
字节:byte,1 Byte由8 bits 所组成,可代表一个字元(a~z,A~Z)、数字(0~9)、或符号(,.?!%&+-*/),计算机以字节为单位存储和解释信息;至于每个中文字则须要2 Bytes。
字:word,计算机在进行数据处理,一次存取、加工、传送的数据长度称为字(word)。一个字一般由多个(整数倍)字节构成。
字长:每个字包含的位数。

1字节=8比特(1 Byte = 8 bits)
1字=2字节(1 word = 2 Bytes)

当计算机存储体容量过大时,位元组这个单位就不方便表示,因此就有千位元组的单位KB出现,以下是各存储体计算单位之间的相关性:
1 KB = 1024 Bytes
1 MB = 1024 KB
1 GB = 1024 MB

我们所说的硬盘容量是40gb、80gb、100gb,这里的b指是的byte也就是“字节”。
1 kb = 1024 bytes =2^10 bytes
1 mb = 1024 kb = 2^20 bytes
1 gb = 1024 mb = 2^30 bytes

与容量有关的b一般指的是byte。

与传输速度有关的b一般指的是bit。
比如说如果说下载速度是56kb,这里的b指的是bit,也就是56kbits,所以说按照bit:byte = 8:1的比例换算一下,下载速度其实是7kbytes。

字节的来由
最开始计算机只是处理数据运算,也就是0-9,加上运算符号,4bit足够了。举个例子(实际不是这样):用0000表示0,0001表示1,0010表示2,依次类推。
后来加入了字母,程序符号等,8bit也足够了,而这时诞生了ASCII编码的标准,大家就说把8bit表示出来的值叫做字节(byte)吧,于是就有了字节这个单位。
所以1byte等于8bit是计算机发展中的一个约定出来的规则。

汉字
1 汉字 = 2 bytes = 16 bits (这里不是很准确,当编码不同的时候,1个汉字所占的字节数也会有所不同,有些编码是占 2个字节,有些则不是,可能是 3个或者 4个)

Java的八大基本数据类型
1.整型
类型    存储需求    bit数    取值范围    备注
int         4字节        4*8    -2^31~2^31-1
short       2字节         2*8      -2^15~2^15-1
long        8字节         8*8      -2^63~2^63-1
byte        1字节         1*8          -2^7~2^7-1

2.浮点型
类型    存储需求    bit数    取值范围    备注
float      4字节        4*8            float类型的数值有一个后缀F(例如:3.14F)
double       8字节        8*8            没有后缀F的浮点数值(如3.14)默认为double类型

3.char类型
类型    存储需求    bit数    取值范围    备注
char      2字节        2*8

4.boolean类型
类型    存储需求    bit数    取值范围    备注
boolean     1字节        1*8      false、true