20210524-JAVA中的int类型理解
程序员文章站
2022-06-04 09:09:10
...
JAVA中的int类型
- java中的int类型是4个字节,由32位组成
- java中的int的类型的本质是二进制,学会二进制就能很好理解int类型
正数
- 最小值&最大值
0000 0000 0000 0000 0000 0000 0000 0000=0
0111 1111 1111 1111 1111 1111 1111 1111= 2,147,483,647
# 2的31次方就是
1000 0000 0000 0000 0000 0000 0000 0000
- 第一位是符号位,正数只能为0,所以正数最大值就是2的31次方-1
负数
- 最小值&最大值
1000 0000 0000 0000 0000 0000 0000 0000 = -2,147,483,648
1111 1111 1111 1111 1111 1111 1111 1111 = -1
二进制表示正数和负数
- 二进制表示正数很简单,很符合我们的思维逻辑,1的位数越高,1的数量越大(除去最左位),说明这个数越大。
- 二进制表示负数=正数的反码+1
- 示例:-1
正1: 0000 0000 0000 0000 0000 0000 0000 0001
反码: 1111 1111 1111 1111 1111 1111 1111 1110
反码+1 1111 1111 1111 1111 1111 1111 1111 1111 = -1
- 由于最左位表示的是符合位,因此如果不进行处理的话有两个零,一个是正零,一个是负零
正零: 0000 0000 0000 0000 0000 0000 0000 0000
负零: 1000 0000 0000 0000 0000 0000 0000 0000
- 但是有两个数表示零,是不是有点浪费?因此,计算机规定负数的零不是零是最小的负数,即-2,147,483,648
java中的左移和右移
- 左移是乘,右移是除
16 << 2 等于16乘以2的4次方
16 >> 2 等于16除以2的4次方
- 左移和右移的本质也是通过二进制来表示出来的
- 无符号右移
- 不管是正数还是负数,二进制向右移动时,左边一律由0填充,右边移动几位抹掉几位
-5>>>2:11111011------------->00111110
python中的int类型
- python中int类型很牛逼,可以无限大,由此可见int类型占4个字节,只是JAVA语言自己定义的
上一篇: 20210524-CSS引入方式
下一篇: Day01-20210524-前端基础