java有8种基本类型,包括4种整型、2种浮点类型、1种用于表示Unicode编码的字符单元的字符类型char和1种用于表示真值的boolean类型。
4种整型 分别是:int、short、long、byte.
类型 | 存储需求 | 取值范围 |
int | 4字节 | -2147 483 648~2147 483 647 |
short | 2字节 | -32768~32767 |
long | 8字节 | -9223372036854775808~9223372036854775807 |
byte | 1字节 | -128~127 |
解释:
以byte 为例:1字节为8个2进制位 由于java有任何无符号类型(unsigned type)所以在8个字节种有一个是符号位,7个是数值位 。
相见 http://baike.baidu.com/view/742694.htm
[原码]就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
[反码]表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
[补码]表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。(符号位也为记数位)
以补码表示:最小数为1000 0000
1000 0000按照[补码]的解释为先减一,得到0111 1111,然后按位取反得到1000 0000,该结果为欲求负数的绝对值,所以结果是-128(和概念反着来求出该负数)
因为正是反码不变:0111111 为最大数 原码还是 01111111 即127
-------今天先写到这里。浮点数waiting
转载于:https://blog.51cto.com/5523910/1122520