java数据类型和运算符:整形详解
java数据类型和运算符:整形详解
* 一般整形值都是int类型,取值为【-2147483648,2147483647】
错误写法:
long bigValue = 92147483647;
正确写法(数字后添加l或L后缀):
long bigValue = 92147483647l;或 long bigValue = 92147483647L;
注意: 55没加后缀的情况下,55依然作为int看待,只是使用它的时候会先自动转到long类型,正因为此,当55改为超出int范围的时候会提示错误。
* 4种进制数表示方式
2进制(Java7新增):0b或0B
8进制:0开头
16进制:0x或0X(10-15分别以a-f表示,不区分大小写)
注意:
* 负数在计算机底层以补码形式存在,转为原码的算法:
* 负数:以int为例
符号位为1,且需要定义为32位(否则为非负数)
eg:0B10000000000000000000000000000011
10000000000000000000000000000011(32位)
提示:JAVA7中引入新功能,允许在数值中使用“_”以方便分辨数值中到底包含多少位。如:0B1000_0000_0000_0000_0000_0000_0000_0011
0B(标示进制数)
最高位为1.
如定义long的负数时,需要定义64位。
* 转换类型后溢出,导致变成负数的例子
byte binVal4 = (byte)0b11101001
0b11101001为int,但超出byte的2的7次方-1,溢出导致负数。
补码->反码(补码减1)->原码(反码,符号位不变,其余位取反)
本文来源 我爱IT技术网 http://www.52ij.com/jishu/4989.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
