1.适合计算机的进制
二进制:计算机内部用二进制:运算简单,简化了计算机结构
其他进制:
八进制:适用于12位和36位计算机系统
标志的开头用0表示,用0~7的数字表示。
16进制:用0~9,A,B,C,D,E,F
表示表达长度短,变得更常用。标志的开头用0x表示。
2.二进制位运算
运算符 | 运算 | 示例 |
& | 与运算 | 6 & 3 = 2 |
| | 或运算 | 6 | 3 = 7 |
^ | 异或运算 | 6 ^ 3 = 5 |
~ | 反码 | ~6 = -7 |
<< | 左移 | 3 << 2 = 12 3*2*2=12 |
>> | 右移 | 3 >> 1 = 1 3/2=1 |
>>> | 无符号右移 | 3>>>1 = 1 3/2=1 |
优点:特定情况下,计算方便,速度快,被支持面广
如果用算数方法,速度慢,逻辑复杂
2.1负数以其正值的补码形式表示
(1)原码:一个整数按照绝对值大小转换成的二进制称为源码。
例如:00000000 00000000 00000000 00001110是14的原码。
(2)反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。
例如:将00000000 00000000 00000000 00001110的每一位取反,得到11111111 11111111 11111111 11110001
注意:00000000 00000000 00000000 00001110和11111111 11111111 11111111 11110001互为反码。
(3)补码:反码加1称为补码
11111111 11111111 11111111 11110001 + 1 = 11111111 11111111 11111111 11110010
(4)将二进制转化为十进制数。只需要将该补码的原码对应的正值,然后取相反数。
1)补码减1得到反码:11000111
2)补码取反得到原码(即该负数的正值):00111000
3)计算正值(按照二-十进制转换规则,正值为56)