-------
android培训
、
java培训
、期待与您交流! ----------
short int 型, 2字节
long int 型 4字节
char 型 1字节
float 型 4字节
double 型 8字节
bool 型 1字节
int(32位,4字节) 范围:最大值 0111 1111 1111 1111 1111 1111 1111 1111 = 2^31 - 1 = 2 147 483 647,
负数最小最大无法一下分清,首先 负数范围是
1000 0000 0000 0000 0000 0000 0000 0000 到 1111 1111 1111 1111 1111 1111 1111 1111
因为计算机负数的存储方式为补码,即上面的为数的补码形式。原码转补码规则:符号位不变,其余位取反加一。
反过来则,先减一,再取反。
补码:1000 0000 0000 0000 0000 0000 0000 0000
减一:1111 1111 1111 1111 1111 1111 1111 1111
取反:1000 0000 0000 0000 0000 0000 0000 0000(2^31,也是2 147 483 648 ,且是负数,即 -2 147 483 648)
补码:1111 1111 1111 1111 1111 1111 1111 1111
减一:1111 1111 1111 1111 1111 1111 1111 1110
取反:1000 0000 0000 0000 0000 0000 0000 0001(-1)
即 int 的范围(-2^31 -- 2^31-1)
short 与long范围,一般short 不大于 int 而long 不小于int ,具体的需要根据系统的位数而定。
补码,反码,原码
之前一直不明白为什么要用补码,反码等,现在先粗浅的谈谈这个。
首先,计算机引用二进制,用1表示开,用0表示关,二进制系统,易于用电子的方式实现。
一,int型 4字节
short int 型, 2字节
long int 型 4字节
char 型 1字节
float 型 4字节
double 型 8字节
bool 型 1字节
int(32位,4字节) 范围:最大值 0111 1111 1111 1111 1111 1111 1111 1111 = 2^31 - 1 = 2 147 483 647,
负数最小最大无法一下分清,首先 负数范围是
1000 0000 0000 0000 0000 0000 0000 0000 到 1111 1111 1111 1111 1111 1111 1111 1111
因为计算机负数的存储方式为补码,即上面的为数的补码形式。原码转补码规则:符号位不变,其余位取反加一。
反过来则,先减一,再取反。
补码:1000 0000 0000 0000 0000 0000 0000 0000
减一:1111 1111 1111 1111 1111 1111 1111 1111
取反:1000 0000 0000 0000 0000 0000 0000 0000(2^31,也是2 147 483 648 ,且是负数,即 -2 147 483 648)
补码:1111 1111 1111 1111 1111 1111 1111 1111
减一:1111 1111 1111 1111 1111 1111 1111 1110
取反:1000 0000 0000 0000 0000 0000 0000 0001(-1)
即 int 的范围(-2^31 -- 2^31-1)
short 与long范围,一般short 不大于 int 而long 不小于int ,具体的需要根据系统的位数而定。
补码,反码,原码
之前一直不明白为什么要用补码,反码等,现在先粗浅的谈谈这个。
首先,计算机引用二进制,用1表示开,用0表示关,二进制系统,易于用电子的方式实现。
在计算机中,只能做加操作,为了实现减等操作,便将符号位也带如运算,即减1 与加(-1)的结果相同。
------- android培训、java培训、期待与您交流! ----------