一.int的表示方法
int可以用2进制,8进制,10进制,16进制来表示。
比如用来表示11时,以上几种表示方式如下:
2进制:int i = 0b1011;
8进制:int i = 013;
10进制:int i = 10;
16进制:int i = 0xB;
用来表示Integer.MAX_VALUE=2147483647时,以上几种表示方式如下:
2进制:int i = 0b0111_1111_1111_1111_1111_1111_1111_1111;
8进制:int i = 017777777777;
10进制:int i = 2147483647;
16进制:int i = 0x7FFF_FFFF;
所以请注意喽,平常我们写十进制的int时一定不要随便在前面加0,否则含义完全就不一样了。
另外,如果数字太长,可以在数字中间添加_来分割,是完全不影响使用的。
二.int中的负数
int中最小值是多少?
Integer.MIN_VALUE=0x8000_0000,用二进制表示的话,就是
int i = 0b1000_0000_0000_0000_0000_0000_0000_0000;
也就是说,变成了负数之后,第一位符号位之后的数,越接近0,负数值越大。
三.int的位运算
目前的位运算有与,或,异或,取反四种
int i1 = 5 & 1;//1
int i2 = 5 | 1;//5
int i3 = 5 ^ 1;//4
int i4 = ~5;//-6
进行位运算时,先把数字转换为2进制数字,在进行计算。
与运算
我们在计算5 & 1;时,进行如下运算
5的2进制表示为:0b0101;
1的2进制表示为:0b0001;
相同位置的位相同则取1,不同则取0,这个运算中,因为最后一位相同,则取1,结果为0b0001。
int i1 = 5 & 1;// i1 = 1
或运算
我们在计算5 | 1;时,进行如下运算
5的2进制表示为:0b0101;
1的2进制表示为:0b0001;
相同位置的位如果有任意一个为1则取1,都为0则取0,这个运算中,因为倒数第1位和倒数第三位为1,则结果为0b0101,结果仍然为5。
int i1 = 5 | 1;// i1 = 5
异或运算
我们在计算5 ^ 1;时,进行如下运算
5的2进制表示为:0b0101;
1的2进制表示为:0b0001;
相同位置的位如果不相同则取1,相同则取0,这个运算中,倒数第3位不相同,则取1,所以结果为0b0100,结果为4。
int i1 = 5 & 1;// i1 = 4
取反运算
我们在计算 ~5;时,进行如下运算
5的2进制表示为:0b0000_0000_0000_0000_0000_0000_0000_0101;
把所有位为1的改为0,0的改为1,则结果为:
0b1111_1111_1111_1111_1111_1111_1111_1010文章来源:https://www.toymoban.com/news/detail-664750.html
所以最终结果为-6。文章来源地址https://www.toymoban.com/news/detail-664750.html
int i1 = ~5;// i1 = -6
到了这里,关于java中int的基本概念的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!