先了解2个单词先:
1、bit --位:位是计算机中存储数据的最小单位,指二进制数中的一个位数,其值为“0”或“1”。
2、byte --字节:字节是计算机存储容量的基本单位,一个字节由8位二进制数组成。在计算机内部,一个字节可以表示一个数据,也可以表示一个英文字母,两个字节可以表示一个汉字。
1B=8bit
1Byte=8bit
1KB=1024Byte(字节)=8*1024bit
1MB=1024KB
1GB=1024MB
1TB=1024GB
Java基本数据类型
boolean | 1 bit,不到一个字节 |
byte | 8 bit,1字节 |
short | 16 bit,2字节 |
char | 16 bit,2字节 |
int | 32 bit,4字节 |
float | 32 bit,4字节 |
long | 64 bit,8字节 |
double | 64 bit,8字节 |
(boolean 的备注+翻译)
This data type represents one bit of information, but its "size" isn't something that's precisely defined.(ref)
这种数据类型代表一个比特的信息,但它的“大小”没有明确的定义。(参考)
测试代码如下:
/**
* 输出各种基础类型的bit大小,也就是所占二进制的位数,1Byte=8bit
*/
private static void getBit() {
//The number of bits used to represent a {@code byte} value in two's complement binary form.
//用来表示Byte类型的值的位数,说到底,就是bit的个数,也就是二进制的位数。
System.out.println("Byte: " + Byte.SIZE);
System.out.println("Short: " + Short.SIZE);
System.out.println("Character: " + Character.SIZE);
System.out.println("Integer: " + Integer.SIZE);
System.out.println("Float: " + Float.SIZE);
System.out.println("Long: " + Long.SIZE);
System.out.println("Double: " + Double.SIZE);
System.out.println("Boolean: " + Boolean.toString(false));
}
执行结果如图:
以 Integer类为例如下:
/**
* The number of bits used to represent an {@code int} value in two's
* complement binary form.
*
* @since 1.5
*/
@Native public static final int SIZE = 32;
/**
* The number of bytes used to represent a {@code int} value in two's
* complement binary form.
*
* @since 1.8
*/
public static final int BYTES = SIZE / Byte.SIZE;//这个我加的注释 Byte.SIZE = 8;