整型有4种进制形式:
1.十进制: 都是以0-9这九个数字组成,不能以0开头。
2.二进制: 由0和1两个数字组成。
3.八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。
4.十六进制:由0-9和A-F组成。为了区分于其他数字的区别,开头都是以0x开始。
位运算在计算机语言中运用广泛,所以十,二进制间的转换显得十分重要:
十进制与二进制之间的转换:
(1)十进制转二进制的转换原理:除以2,反向取余数,直到商为0终止。
9(十进制)→1001(二进制)
(2)二进制转十进制的转换原理: 就是用进制的定义:二进制的每一个乘以2的n次方,n从0开始,每次递增1。然后得出来的每个数相加。
1110(二进制)→ 14(十进制) 8+4+2=14
推荐记住2的指数9以内的数:1、2、4、8、16、32、64、128、256、1024
(3)负数:这时候需引入补码的概念,一个byte第八位(最前位)是确定符号的位,0为正,1为负,但考虑到+0与-0值相等,为了使逻辑成立没有偏差,所以提出了补码表示法。
补码的计算公式:
正数:源码、反码和补码都相同。
负数:补码 = 反码(符号位保持不变) + 1
注意: 负数在计算补码的时候,在源码取反的过程中要保留符号位不变,其他位取反,例如:10001010取反11110101(第一个1不变),补码就为11110110。
另外,对于负数中的二进制转十进制,自己发现了一个小公式:先直接算出正数(此时一般超过127而小于256),该负数=新的正数-256 11000011(为十进制-61) = 128+64+2+1 - 256 = -61