数的进制

2020-07-02  本文已影响0人  大象信步走来
数的进制

莱布尼茨(W. Leibniz)(1646~1716)是他那个时代最伟大的思想家之一,他十分欣赏二进位制.用拉普拉斯(Laplace)的话来说:“莱布尼茨在他的二进位算术中看到了宇宙创始的原象.他想象1表示上帝,而0表示虚无,上帝从虚无中创造出所有实物,恰如在他的数学系统中用1和0表示了所有的数.”

十进制
Decimal
简写DEC
二进制
Binary
简写BIN
八进制
Octal
简写OCT
十六进制
Hexadecimal
简写HEX
基数 0~9 0~1 0~7 0~9,a/A~f/F
进位 逢十进一 逢二进一 逢八进一 逢十六进一
加法计算 1 + 9 = 10 100 + 1110 = 10010 1 + 7 = 10 1 + A =10
位权n(0,1,2...n) 10的n次方 2的n次方 8的n次方 16的n次方
转十进制 2431 = 2*10^3 + 4*10^2 + 3*10^1 + 1*10^0 =2431 1010 = 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 =8 + 0 + 2 + 0 =10 2018 = 2*8^2 + 1*8^1 + 8*8^0 = 128 + 8 + 8 = 144 123 = 1*16^2 + 2*16^1 + 3*16^0 = 291
程序中的表示 直接写 0b1010 or 0B1010 0o2018 or 0O2018 0X123 or 0X123
# 都会输出十进制数字
print(291 + 1) # 292
print(0x123 + 1) # 292
进制转换
其它进制转十进制
print(0o12, 0xaf, 0b1011)
十进制转其它进制
100不断除以2取余数倒序排列余数 得二进制数
100不断除以8取余数倒序排列余数 得八进制数
八进制,十六进制与二进制之间的互相转换
记忆法宝 8 4 2 1

八进制转二进制:将1位8进制数转换成3位的二进制 (任何的八进制基数都可以用三位的二进制数表示,因为八进制各位数字最大是7)
0o67 -> 0b 110 111 # 6= 0*8 + 4*1 + 2*1 + 1*1
0o624 -> 0b 110 010 100

十六进制进制转二进制:将1位16进制数转换成4位的二进制 (任何的十六进制基数都可以用四位的二进制数表示,因为十六进制各位数字最大为15----对应二进制可用1111表示)
0xaf -> 0b 1010 1111

二进制数转换成八进制
0b 11 010 111 011 -> 0o3273

二进制数转换成十六进制
0b 110 1011 1011 -> 0x6bb
用代码转换进制
print(bin(0o67))
print(oct(324))
print(hex(100))
上一篇 下一篇

猜你喜欢

热点阅读