一、进制
名称 | 十进制 |
---|---|
基数 | 0,1,2,3,4,5,6,7,8,9 |
进位 | 逢10进1 |
位权 | 123(10) = 3 * 10 ** 0 + 2 * 10 ** 1 + 1 * 10 ** 2 = 123(10) |
转化十进制 | int('要转换的数',位权) |
名称 | 二进制 |
---|---|
基数 | 0,1 |
进位 | 逢2进1 |
位权 | 110(2) = 0 * 2 ** 0 + 1 * 2 ** 1 + 1 * 2 ** 2 = 6(10) |
表达式 | 0b/B + 二进制数 |
转化二进制 | bin(其他进制数)——返回形式为字符串 |
名称 | 八进制 |
---|---|
基数 | 0,1,2,3,4,5,6,7 |
进位 | 逢8进1 |
位权 | 123(8) = 3 * 8 ** 0 + 2 * 8 ** 1 + 1 * 8 ** 2 = 83(10) |
表达式 | 0o/O + 八进制数 |
转化八进制 | oct(其他进制数)——返回形式为字符串 |
名称 | 十六进制 |
---|---|
基数 | 0,1,2,3,4,5,6,7,8,9,a/A(10),b/B(11),c/C(12),d/D(13),e/E(14),f/F(15) |
进位 | 逢16进1 |
位权 | 123(16) = 3 * 16 ** 0 + 2 * 16 ** 1 + 1 * 16 ** 2 = 291(10) |
表达式 | 0x/X + 十六进制数 |
转化十六进制 | hex(其他进制数)——返回形式为字符串 |
二、原码反码补码
-
原码:(符号位+真值)
符号位:最高位用0表示正数,1表示负数
真值:去掉正负数字的二进制 -
反码:
正数的反码:就是原码
负数的反码:原码的符号位不变,其余的位数取反 -
补码:
正数的补码:还是原码
负数的补码:反码加1
三、位运算
符号 | 名称 | 特点 | |
---|---|---|---|
& | 按位与 | 遇0则0 | 判断奇偶(num & 1 == 1 —— num是奇数) |
| | 按位或 | 遇1则1 | |
~ | 按位取反 | 每一位取反 | |
^ | 按位异或 | 相同为0,不同为1 | 判断两数是否相等。加密 |
<< | 左移 | 数字1 << N:数字1左移N位,数字1 * 2 ** N | |
>> | 右移 | 数字1 >> N:数字1右移N位,数字1 // 2 ** N |
网友评论