二進(jìn)制
我們平常用的數(shù)字就是十進(jìn)制细移, 通常來講就是“滿十進(jìn)一”,所以位上最大的數(shù)字的是 9.
那二進(jìn)制也就是“滿二進(jìn)一”熊锭, 所以位上最大的是1弧轧, 所以你看到的二進(jìn)制只有0和1.
二進(jìn)制的一般前面帶上0b表示,“零b”碗殷。比如000000011精绎, 表示3.
十進(jìn)制中右到左的權(quán)重是個(gè),10锌妻,100代乃,1000,10000仿粹,...搁吓,
而二進(jìn)制因?yàn)槭菨M二進(jìn)一原茅,所以類推下去的權(quán)重是,個(gè)堕仔,2员咽, 4,8贮预,16,32契讲,64仿吞,128, 256捡偏,...
我們平時(shí)說的內(nèi)存大小就是用二進(jìn)制來計(jì)算的,所以才會(huì)有256mb唤冈, 1G = 1024Mb。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
print "0b00000001 換成十進(jìn)制是 {}".format(0b00000001)
print "0b00000010 換成十進(jìn)制是 {}".format(0b00000010)
print "0b00000100 換成十進(jìn)制是 {}".format(0b00000100)
print "0b00000101 換成十進(jìn)制是{}".format(0b00000101)
allenwoo@~$ python test.py
0b00000001 換成十進(jìn)制是 1
0b00000010 換成十進(jìn)制是 2
0b00000100 換成十進(jìn)制是 4
0b00000101 換成十進(jìn)制是 5
32位系統(tǒng)與64位系統(tǒng)
簡單通俗的說银伟,計(jì)算機(jī)系統(tǒng)我們平常用的有32位你虹, 64位。 其實(shí)這個(gè)位也就是32位二進(jìn)制彤避,也就是說32位的系統(tǒng)最多識(shí)別32的二進(jìn)制傅物。
因?yàn)?2位二進(jìn)制換成十進(jìn)制也就是2^32次方 4294967295,大概4G琉预,所以為什么說4G以上內(nèi)存的電腦裝32位的系統(tǒng)就是浪費(fèi)內(nèi)存.
而64位系統(tǒng)就能支持非常大的內(nèi)存董饰, 2^64次方 1.84467440737e+19, 大概17179869184.0 G圆米。
也可以如下直接轉(zhuǎn)成十進(jìn)制卒暂,在換算單位看看。#####
1.32位而二進(jìn)制
#!/usr/bin/python
# -*- coding: UTF-8 -*-
num_b = 0b11111111111111111111111111111111
num_b = float(num_b)
print "0b11111111111111111111111111111111\n " \
"32位換成十進(jìn)制是{}".format(num_b)
# 字節(jié)大小是b娄帖,所以我們轉(zhuǎn)換一下單位
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位:運(yùn)行結(jié)果
0b11111111111111111111111111111111
32位換成十進(jìn)制是4294967295.0
等于 4194303.99902 Kb
等于 4095.99999905 Mb
等于 3.99999999907 G
2.來看看64位二進(jìn)制
#!/usr/bin/python
# -*- coding: UTF-8 -*-
num_b = 0b1111111111111111111111111111111111111111111111111111111111111111
num_b = float(num_b)
print "0b1111111111111111111111111111111111111111111111111111111111111111\n \
64位換成十進(jìn)制是{}".format(num_b)
# 字節(jié)大小是b也祠,所以我們轉(zhuǎn)換一下單位
print "等于 {} Kb".format(num_b/1024)
print "等于 {} Mb".format(num_b/1024/1024)
print "等于 {} G".format(num_b/1024/1024/1024)
64位:運(yùn)行結(jié)果
allenwoo@~$ python test.py
0b1111111111111111111111111111111111111111111111111111111111111111
64位換成十進(jìn)制是1.84467440737e+19
等于 1.80143985095e+16 Kb
等于 1.75921860444e+13 Mb
等于 17179869184.0 G