先了解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;

评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!