人人可以學Python.png
二進制
我們平常用的數(shù)字就是十進制, 通常來講就是“滿十進一”,所以位上最大的數(shù)字的是 9.
那二進制也就是“滿二進一”, 所以位上最大的是1, 所以你看到的二進制只有0和1.
二進制的一般前面帶上0b表示,“零b”。比如000000011, 表示3.
十進制中右到左的權重是個,10,100,1000,10000,...,
而二進制因為是滿二進一,所以類推下去的權重是,個,2, 4,8,16,32,64,128, 256,...
我們平時說的內(nèi)存大小就是用二進制來計算的,所以才會有256mb, 1G = 1024Mb。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
print "0b00000001 換成十進制是 {}".format(0b00000001)
print "0b00000010 換成十進制是 {}".format(0b00000010)
print "0b00000100 換成十進制是 {}".format(0b00000100)
print "0b00000101 換成十進制是{}".format(0b00000101)
allenwoo@~$ python test.py
0b00000001 換成十進制是 1
0b00000010 換成十進制是 2
0b00000100 換成十進制是 4
0b00000101 換成十進制是 5
32位系統(tǒng)與64位系統(tǒng)
簡單通俗的說,計算機系統(tǒng)我們平常用的有32位, 64位。 其實這個位也就是32位二進制,也就是說32位的系統(tǒng)最多識別32的二進制。
因為32位二進制換成十進制也就是2^32次方 4294967295,大概4G,所以為什么說4G以上內(nèi)存的電腦裝32位的系統(tǒng)就是浪費內(nèi)存.
而64位系統(tǒng)就能支持非常大的內(nèi)存, 2^64次方 1.84467440737e+19, 大概17179869184.0 G。
也可以如下直接轉成十進制,在換算單位看看。#####
1.32位而二進制
#!/usr/bin/python
# -*- coding: UTF-8 -*-
num_b = 0b11111111111111111111111111111111
num_b = float(num_b)
print "0b11111111111111111111111111111111\n " \
"32位換成十進制是{}".format(num_b)
# 字節(jié)大小是b,所以我們轉換一下單位
print "等于 {} Kb".format(num_b/1024)
print "等于 {} Mb".format(num_b/1024/1024)
print "等于 {} G".format(num_b/1024/1024/1024)
python test.py
32位:運行結果
0b11111111111111111111111111111111
32位換成十進制是4294967295.0
等于 4194303.99902 Kb
等于 4095.99999905 Mb
等于 3.99999999907 G
2.來看看64位二進制
#!/usr/bin/python
# -*- coding: UTF-8 -*-
num_b = 0b1111111111111111111111111111111111111111111111111111111111111111
num_b = float(num_b)
print "0b1111111111111111111111111111111111111111111111111111111111111111\n \
64位換成十進制是{}".format(num_b)
# 字節(jié)大小是b,所以我們轉換一下單位
print "等于 {} Kb".format(num_b/1024)
print "等于 {} Mb".format(num_b/1024/1024)
print "等于 {} G".format(num_b/1024/1024/1024)
64位:運行結果
allenwoo@~$ python test.py
0b1111111111111111111111111111111111111111111111111111111111111111
64位換成十進制是1.84467440737e+19
等于 1.80143985095e+16 Kb
等于 1.75921860444e+13 Mb
等于 17179869184.0 G