bingoogolapple.github.io icon indicating copy to clipboard operation
bingoogolapple.github.io copied to clipboard

Java 中的八种基本数据类型所占字节的求法

Open bingoogolapple opened this issue 7 years ago • 3 comments

public static void testMemorySize() {
    // 一个字节占8个二进制位

    // byte 类型所占的字节数求法
    System.out.println("byte 的二进制位数为:" + Byte.SIZE);
    System.out.println("byte 所占的字节数为:" + Byte.SIZE / 8);
    // char 类型所占的字节数求法
    System.out.println("char 的二进制位数为:" + Character.SIZE);
    System.out.println("char 所占的字节数为:" + Character.SIZE / 8);
    // short 类型所占的字节数求法
    System.out.println("short 的二进制位数为:" + Short.SIZE);
    System.out.println("short 所占的字节数为:" + Short.SIZE / 8);
    // int 类型所占的字节数求法
    System.out.println("int 的二进制位数为:" + Integer.SIZE);
    System.out.println("int 所占的字节数为:" + Integer.SIZE / 8);
    // float 类型所占的字节数求法
    System.out.println("float 的二进制位数为:" + Float.SIZE);
    System.out.println("float 所占的字节数为:" + Float.SIZE / 8);
    // long 类型所占的字节数求法
    System.out.println("long 的二进制位数为:" + Long.SIZE);
    System.out.println("long 所占的字节数为:" + Long.SIZE / 8);
    // double 类型所占的字节数求法
    System.out.println("double 的二进制位数为:" + Double.SIZE);
    System.out.println("double 所占的字节数为:" + Double.SIZE / 8);
}
I/System.out: byte 的二进制位数为:8
I/System.out: byte 所占的字节数为:1
I/System.out: char 的二进制位数为:16
I/System.out: char 所占的字节数为:2
I/System.out: short 的二进制位数为:16
I/System.out: short 所占的字节数为:2
I/System.out: int 的二进制位数为:32
I/System.out: int 所占的字节数为:4
I/System.out: float 的二进制位数为:32
I/System.out: float 所占的字节数为:4
I/System.out: long 的二进制位数为:64
I/System.out: long 所占的字节数为:8
I/System.out: double 的二进制位数为:64
I/System.out: double 所占的字节数为:8

bingoogolapple avatar Feb 24 '18 03:02 bingoogolapple

这些类型由低级到高级分别为:(byte,short,char)--int--long--float--double 注意,整数比浮点数低级。低级到高级可以自动转换。而高级到低级需要用代码强制转换,不强转会编译错误

  • 位:"位(bit)"是电子计算机中最小的数据单位。每一位的状态只能是0或1。

  • 字节:8个二进制位构成1个"字节(Byte)",它是存储空间的基本计量单位。

1个字节可以储存1个英文字母或者半个汉字,换句话说,1个汉字占据2个字节的存储空间。

  • 字:"字"由若干个字节构成,字的位数叫做字长,不同档次的机器有不同的字长。

例如一台8位机,它的1个字就等于1个字节,字长为8位。如果是一台16位机,那么,它的1个字就由2个字节构成,字长为16位。字是计算机进行数据处理和运算的单位。

  • KB:K在二进制中表示1024,也就是2的10次 方。1KB表示1K个Byte,也就是1024个字节

bingoogolapple avatar Feb 24 '18 03:02 bingoogolapple

大师傅

zhanghaohua avatar Apr 03 '18 02:04 zhanghaohua

ll

lz1362925762 avatar Jul 20 '18 06:07 lz1362925762