- 十进制转二进制、八进制、十六进制
- 二进制/八进制/十六进制 转 十进制
- 整数转整数列表
- 整数列表转整数
- 与、非、或、异或、位移
- 将ascii码转换为对应字母
- 将字母转成ascii码
- 枚举 enumerate
bin(5) # '0b101' oct(5) # '0o5' hex(5) # '0x5'二进制/八进制/十六进制 转 十进制
int('110',2) # 6
int('110',8) # 64+8=72
int('110', 16) # 16*16+16=272
整数转整数列表
eg. 123 => [1, 2, 3]
a = 123 b = str(a) #'123' c = list(b) #['1','2','3'] d = list(map(int,c)) #[1, 2, 3]整数列表转整数
eg. [1,2,3] => 123
a = [1,2,3] b = list(map(str,a)) # ['1', '2', '3'] c = ''.join(b) # '123' d = int(c) # 123与、非、或、异或、位移
| 与 | 非 | 或 | 异或 | 左移 | 右移 |
|---|---|---|---|---|---|
| & | ~ | | | ^ | <<;相当于乘2^k | >>;相当于整除2^k |
| 5&3=1 (101) | (011) = (001) | ~5=6 见下面的解释 | 5|3=7 (101) | (011) = (111) | 5^3=6 (101) | (011) = (110) | 5<<2 = 20 | 5>>1 = 2 |
计算机中是以补码的形式来进行计算的,5的是正数,补码等于原码:0000 0000 0000 0000 0000 0000 0000 0101, 取非后:1111 1111 1111 1111 1111 1111 1111 1010, 计算机运算的时候是以补码的形式,但是显示到终端上还是以原码的形式,要把结果再转化回原码(补码的补码,对于负数取补就是取反后加1):1000 0000 0000 0000 0000 0000 0000 0110, 也就是-6。
将ascii码转换为对应字母chr(97) #'a'将字母转成ascii码
ord('a') # 97
枚举 enumerate
numbers=[0,0,3,4]
for i,num in enumerate(numbers):
print(i, num)
0 0
1 0
2 3
3 4
分别是index, 和值



