2019-01-02進(jìn)制

一望几,進(jìn)制

在計(jì)算機(jī)編程中端礼,整數(shù)可以通過十進(jìn)制括饶,二進(jìn)制,八進(jìn)制和十六進(jìn)制來表示
1.進(jìn)制
"""
1.十進(jìn)制
基數(shù): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
進(jìn)位: 逢10進(jìn)1 比如9馬上遇到10 就會(huì)進(jìn)1 所以為10
位權(quán): 123(10) = 100 + 20 + 3 = 3+10的0次方 + 2乘10的1次方 + 1乘10的2次方

                             =1*10**2 + 2*10**1 + 3+10**0

2.二進(jìn)制
基數(shù): 0, 1
0111, 1100, 101010101, 111111100001
b.進(jìn)位: 逢2進(jìn)1
100(2) == 4(10) 101(2) == 5(10)
c.位權(quán): 101(2)= 1乘2的0次方 + 0乘2的1次方 + 1乘2的2次方 = 5

3.八進(jìn)制
a.基數(shù): 0, 1, 2, 3, 4, 5, 6, 7
b.進(jìn)位: 逢8進(jìn)1
c.位權(quán): 123(8) = 3乘8的0次方 + 2乘8的1次方 + 1乘8的2次方 = 3 + 16 + 64 = 83
111(8) = 8的0次方+8的1次方+8的2次方 = 1+8+64 = 73

4.十六進(jìn)制
a.基數(shù): 0-9恕洲,a/A - f/F -- a/A(10), b/B(11), c/C(12), d/D(13), e/E(14), F/f(15)
1f, ff, abc, a00bf
b.進(jìn)位: 逢16進(jìn)1
c.位權(quán): 123(16) = 3乘16的0次方 + 2乘16的1次方 + 3乘16的2次方 = 3+32+256 = 291
"""

1.程序中怎么表示不同進(jìn)制的數(shù)
a.在程序中直接寫的數(shù)字都是10進(jìn)制
num = 110 # 這是一個(gè)10進(jìn)制數(shù)
print(num) # 直接打印其他進(jìn)制數(shù)就會(huì)顯示他的十進(jìn)制
b.二進(jìn)制
0b/B+二進(jìn)制數(shù)

num = 0b1110
print(num)  # 2+4+8 = 14
# num2 = 0b123 # 錯(cuò)誤塔橡!二進(jìn)制只能是0或1

print(bin(800))  # 獲取一個(gè)數(shù)對(duì)應(yīng)的二進(jìn)制方式
print(bin(0o671))  # 110111001
print(bin(0xaf))  # 10101111
print(bin(100))

c.八進(jìn)制
0o/O+八進(jìn)制數(shù)

num = 0o176
print(num)
# num = 0o78  # 錯(cuò)誤!8沒在八進(jìn)制范圍內(nèi)

print(oct(800))  # 0o1440
print(oct(0b111000101))  # 0o705

d.十六進(jìn)制
0x/X + 十六進(jìn)制數(shù)

num = 0xaf2
print(num)
# num = 0xah  # 錯(cuò)誤霜第!

print(hex(19968))
print(hex(175))  # 0xaf
print(hex(255))  # 0xff

num1 = 17
num2 = 0b10001  # 17
num3 = 0o21  # 17
num4 = 0x11  # 17
print(num1, num2, num3, num4)

num = 21
print(bin(21))  # 1

二葛家,binary(二進(jìn)制)

"""
計(jì)算機(jī)存儲(chǔ)數(shù)據(jù)只能存儲(chǔ)數(shù)字?jǐn)?shù)據(jù),而且存的是數(shù)字的補(bǔ)碼泌类。
計(jì)算機(jī)對(duì)數(shù)據(jù)進(jìn)行運(yùn)輸?shù)臅r(shí)候是使用補(bǔ)碼進(jìn)行運(yùn)算的惦银,將數(shù)據(jù)從計(jì)算機(jī)中讀出來看到的是原碼

1.原碼:符號(hào)位 + 真值
說明:
符號(hào)位:最高位用0表示正數(shù),1表示負(fù)數(shù)
真值:去掉正負(fù)(符號(hào)位)末誓,數(shù)字對(duì)應(yīng)的二進(jìn)制值

100的原碼: 01100100 # 第一個(gè)0表示正數(shù)
-100的原碼: 11100100 # 第一個(gè)1表示負(fù)數(shù)

2.反碼:
正數(shù)的反碼:就是原碼
負(fù)數(shù)的反碼:原碼的符號(hào)位不變,其余的位數(shù)取反(0 -> 1, 1 -> 0)

100的反碼:01100100
-100的反碼:10011011

反碼就是求補(bǔ)碼书蚪,沒啥用喇澡,就是為了求補(bǔ)碼
3.補(bǔ)碼
正數(shù)的補(bǔ)碼:還是原碼
負(fù)數(shù)的補(bǔ)碼:反碼加1

100的補(bǔ)碼:01100100
-100的補(bǔ)碼:10011100

1+1 = 0 + 1

-50的原碼,反碼殊校,補(bǔ)碼
原碼:1110010
反碼:1001101
補(bǔ)碼:1001110
存是補(bǔ)碼晴玖,取出時(shí)原碼,因?yàn)橛?jì)算機(jī)只有加法器,沒有減法器
"""

4.為什么計(jì)算機(jī)要存補(bǔ)碼呕屎?
"""
因?yàn)橛?jì)算機(jī)中只有加法器让簿,沒有減法器

3 - 2 --> 3 + (-2) = 1 # 計(jì)算機(jī)里面是這樣算的
2-3 --> 2 + (-3)

3的原碼:011
-2的原碼:110
# 存原碼:
3-2 = 011 + 110 = 001

-3的原碼:111  反碼:100  補(bǔ)碼:101
2的原碼:010  都是010
# 存原碼算
2-3 = 110 + 010 = 1001(原) = 1
補(bǔ)碼算
010+101 =111(補(bǔ)碼)=111-1=110(反碼)=101(原)=-1

-3 + -2 = -5
-3原碼:1011  反:1100 補(bǔ):1101
-2原碼:1010  反:1101 補(bǔ):1110
原碼算:
-3 + -2 = 1011+1010 = 0101(原) = 5
補(bǔ)碼算:
1101 + 1110 =1011(補(bǔ))=1010(反)=1101(原)= -5
# 1101 - 前面1是負(fù)數(shù)的意思 1*2**0+0*2**1+1*2**2=5 所以-5

1+1 = 0 (逢2進(jìn)1)
0+1 =1
"""

位運(yùn)算:&(按位與), |(按位或運(yùn)算), ~(按位取反), ^(按位異或), <<(左移), >>(右移)

"""
數(shù)字1 & 數(shù)字2 --> 每一位上的數(shù)都為1結(jié)果就是1,有0就是0
0111(補(bǔ)碼) & 1101(補(bǔ)碼) --> 0101(補(bǔ)碼) (從后面算)
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
特點(diǎn):一個(gè)位上的數(shù)如果和1與秀睛,可以保留這個(gè)位上的數(shù)尔当;和0與可以置0

應(yīng)用:判斷一個(gè)數(shù)的奇偶性(如果一個(gè)數(shù)的二進(jìn)制的最低位是1就是奇數(shù),否則是偶數(shù))

num % 2 == 0 --> num是偶數(shù)(傳統(tǒng))
num & 1 == 0 --> num是偶數(shù)
num & 1 == 1 -->num是奇數(shù)
"""

print(3 & 2)  # 3的補(bǔ)碼0011 & 2的補(bǔ)碼0011 =1100(補(bǔ)碼)=2
print(-3 & -2)
"""
-3:-3原碼:1011  反:1100 補(bǔ):1101
-2原碼:1010  反:1101 補(bǔ):1110
1101 & 1110 = 1100(補(bǔ)碼) = 1010(反) = 1100 = -4
"""
print(2 & 1, 200 & 1, -100 & 1)
print(5 & 1, 111 & 1, -13 & 1)

"""
數(shù)字1 | 數(shù)字2:只要有1結(jié)果就是1蹂安,兩個(gè)都為0結(jié)果才是0
1 | 1 = 1
1 | 0 = 1
0 | 1 =1
0 | 0 = 0
特點(diǎn): 和1或椭迎,置1
"""
print(3 | 2) # 0011 | 0010 = 0011(補(bǔ))
print(-3 | -2) # 1101 | 1110 = 1111(補(bǔ)) = 1110(反) = 1001(原碼)

"""
~數(shù)字 : 將數(shù)字上的每一位取反
~1 = 0
~0 = 1
"""

print(~3)  # ~0011 = 1100(補(bǔ)) = 1011(反)=1100 = -4
print(~-4)  # ~~3 = 3 取反兩次等于本身

"""
數(shù)字1 ^ 數(shù)字2 : 相同為0,不同為1
1 ^ 1 =0
1 ^ 0 =1
0 ^ 1 =1
0 ^ 0 =0
應(yīng)用:加密
"""

print(3 ^ 2)   # 0011 ^ 0010 = 0001 = 1
print(1 ^ 2)  # 1 ^ 2 = 3

"""
數(shù)字1 << N:數(shù)字1左移N位, 數(shù)字1* 2N
數(shù)字1 >> N: 數(shù)字1右移N位 數(shù)字1 // 2
N
應(yīng)用:快速乘2的多少次方/除2的次方 (面試)
"""

print(4 << 1)  # 4*2**1 = 8
print(-3 << 2)  # -3*2**2 = -12
計(jì)算值 要將原碼轉(zhuǎn)換成補(bǔ)碼,首先要通過轉(zhuǎn)換成反碼,反碼再轉(zhuǎn)換成補(bǔ)碼田盈,再來用位運(yùn)算, 輸出結(jié)果是原碼畜号,

所以結(jié)果要將補(bǔ)碼再轉(zhuǎn)換成原碼.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市允瞧,隨后出現(xiàn)的幾起案子烹玉,更是在濱河造成了極大的恐慌,老刑警劉巖孕荠,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件责球,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡贸典,警方通過查閱死者的電腦和手機(jī)视卢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來廊驼,“玉大人据过,你說我怎么就攤上這事《士妫” “怎么了绳锅?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)酝掩。 經(jīng)常有香客問我鳞芙,道長(zhǎng),這世上最難降的妖魔是什么期虾? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任原朝,我火速辦了婚禮,結(jié)果婚禮上镶苞,老公的妹妹穿的比我還像新娘喳坠。我一直安慰自己,他們只是感情好茂蚓,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布壕鹉。 她就那樣靜靜地躺著剃幌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪晾浴。 梳的紋絲不亂的頭發(fā)上负乡,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天,我揣著相機(jī)與錄音脊凰,去河邊找鬼抖棘。 笑死,一個(gè)胖子當(dāng)著我的面吹牛笙各,可吹牛的內(nèi)容都是我干的钉答。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼杈抢,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼数尿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起惶楼,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤右蹦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后歼捐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體何陆,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年豹储,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了贷盲。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡剥扣,死狀恐怖巩剖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情钠怯,我是刑警寧澤佳魔,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站晦炊,受9級(jí)特大地震影響鞠鲜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜断国,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一贤姆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧稳衬,春花似錦庐氮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至输涕,卻和暖如春音婶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背莱坎。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工衣式, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人檐什。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓碴卧,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親乃正。 傳聞我的和親對(duì)象是個(gè)殘疾皇子住册,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容

  • 在計(jì)算機(jī)編程中,整數(shù)可以通過十進(jìn)制瓮具、二進(jìn)制荧飞、八進(jìn)制和十六進(jìn)制來表示 1.進(jìn)制 """1.十進(jìn)制a.基數(shù):0,1名党,2...
    QiuXian閱讀 620評(píng)論 0 0
  • 一传睹、進(jìn)制轉(zhuǎn)換: *一耳幢、進(jìn)制: 1.十進(jìn)制: 基數(shù):0、1欧啤、2睛藻、3、4堂油、5修档、6、7府框、8吱窝、9進(jìn)位:逢十進(jìn)一位權(quán):123...
    絕世小丑閱讀 319評(píng)論 0 0
  • 網(wǎng)站亂碼問題我們會(huì)經(jīng)常碰到,大多見于非英文的中文字符或其他字符亂碼迫靖,而且院峡,這類問題常常是因?yàn)榫幋a方式問題,主要原因...
    波段頂?shù)?/span>閱讀 2,890評(píng)論 1 9
  • 進(jìn)制基本概念 什么是進(jìn)制?進(jìn)制是一種計(jì)數(shù)的方式,數(shù)值的表示形式 常見的進(jìn)制十進(jìn)制系宜、二進(jìn)制照激、八進(jìn)制、十六進(jìn)制 進(jìn)制書...
    極客江南閱讀 2,020評(píng)論 0 11
  • 一:進(jìn)制 在計(jì)算機(jī)編程中励幼,整數(shù)可以通過二進(jìn)制,八進(jìn)制口柳,十進(jìn)制苹粟,十六進(jìn)制 十進(jìn)制可通過方程轉(zhuǎn)二、八跃闹、十六進(jìn)制嵌削。倒轉(zhuǎn)需...
    生命的怒放閱讀 565評(píng)論 0 0