bit和Byte:
代码语言:javascript复制计算机语言只识别0和1,所以Java语言在内存的存储为二进制存储。
数值中包含两个可能,0和1。一个数值或者一个二进制位称为bit。
8个bit位为一组,组成一个字节Byte。
一个bit表示的范围为:0和1
一个Byte表示的范围为:2^8 = 256.
无符号数:表示二进制数只为正数。则一个Byte的无符号数范围为[0, 2^8-1] 即 [0 ,255].
有符号数:表示二进制数既有正数也有负数。则一个Byte的有符数范围为[-2^7 , 2^7-1] 即 [-128, 127]
整数在内存中的存储:
代码语言:javascript复制正整数:直接把十进制数转换为二进制然后存储在内存中。
负整数:先把负数转化为原码,然后转化为反码,最后在将转换为补码,存储在内存中。
原码:降负整数的绝对值转换为二进制,转换的结果就为原码。
反码:在原码的基础上取反,如果原码二进制位位0,则转换位反码二进制位就为1.
补码:在反码的基础上,最后一个二进制位 1。
整数在内存中存储的规律:
代码语言:javascript复制正整数在内存中存储最高位为0,负整数在内存中存储的最高位为1.
偶数在内存中存储的最低位为0,奇数在内存中存储的最低位为1.