day3_進(jìn)制與字符串

1.進(jìn)制

??計(jì)算機(jī)在存儲(chǔ)數(shù)字的時(shí)候是以二進(jìn)制的形式去存的,進(jìn)制有二進(jìn)制,八進(jìn)制,十進(jìn)制,十六進(jìn)制,如下表所示:

進(jìn)制 基數(shù) 進(jìn)位 示例
二進(jìn)制 01 2 11=1*20+1*21
八進(jìn)制 01234567 8 43=3*80+4*81
十進(jìn)制 0123456789 10 43=3*100+4*101
十六進(jìn)制 0~9 AF(af) 16 A4=4*160+10*161

1.1進(jìn)制的轉(zhuǎn)換

a:轉(zhuǎn)換為十進(jìn)制:每一位上的數(shù)乘以進(jìn)制冪次數(shù),然后求和。
b:十進(jìn)制轉(zhuǎn)換成其他進(jìn)制:輾轉(zhuǎn)取于法。
c:二進(jìn)制轉(zhuǎn)換為8進(jìn)制:每3位二進(jìn)制轉(zhuǎn)換位1位,如0 100 011(二進(jìn)制) 0 43
d:二進(jìn)制轉(zhuǎn)換為16進(jìn)制:每4位二進(jìn)制轉(zhuǎn)換位1位,如0 1001 0011(二進(jìn)制) 0 93

二進(jìn)制輾轉(zhuǎn)取余法.PNG

1.2python對進(jìn)制的支持:

??python支持通過各個(gè)進(jìn)制來直接表示整數(shù)。各進(jìn)制數(shù)表示如下表所示:

進(jìn)制 前綴 示例
二進(jìn)制 0b/0B 0b101
八進(jìn)制 0o\0O 0o75
十進(jìn)制 100
十六進(jìn)制 0x\0X 0xA5

??進(jìn)制轉(zhuǎn)化代碼:

bin(整數(shù))-->將括號中的整數(shù)轉(zhuǎn)化成二進(jìn)制數(shù);
oct(整數(shù))-->將括號中的整數(shù)轉(zhuǎn)換成八進(jìn)制數(shù);
hex(整數(shù))-->將括號中的整數(shù)轉(zhuǎn)換成十六進(jìn)制;

print(bin(160),bin(0o56),bin(0xA5))
print(oct(151),oct(0b11),oct(0x44))
print(hex(1023),hex(0b111),hex(0o57))

2.原碼補(bǔ)碼與反碼

??計(jì)算機(jī)在存儲(chǔ)數(shù)字時(shí),存的時(shí)數(shù)字的二進(jìn)制的補(bǔ)碼。計(jì)算機(jī)內(nèi)存的最小單位是位,1位有二個(gè)狀態(tài),8位為一個(gè)字節(jié),計(jì)算機(jī)中只有加法計(jì)數(shù)器,所以才會(huì)產(chǎn)生補(bǔ)碼來進(jìn)行減法計(jì)算。

原碼:整數(shù)數(shù)字的二進(jìn)制數(shù),最高位為符號位,正數(shù)符號位為0,負(fù)數(shù)符號位為1,如10的原碼為00000000 00001010,-10為10000000 0001010。
反碼:負(fù)數(shù)的原碼符號位不變,其他位的數(shù)取反(0—>1,1—>0),即為反碼;正數(shù)的反碼就是他的原碼。如10的補(bǔ)碼為00000000 00001010,-10反碼為11111111 11110101。
補(bǔ)碼:正數(shù)的補(bǔ)碼為他的原碼;負(fù)數(shù)的補(bǔ)碼是他的反碼加一。如10的補(bǔ)碼為00000000 00001010,-10的補(bǔ)碼為11111111 11110110。

3.位運(yùn)算

??位運(yùn)算符: &(按位與),|(按位或),^(異或),~(取反),>>(右移),<<(左移),計(jì)算機(jī)存儲(chǔ)的是補(bǔ)碼,讀取計(jì)算結(jié)果要讀原碼

??&(按位與):同1才為1。

& 0 1
0 0 0
1 0 1
print(3&2) #2
print(-3&2) #0  1111 1101&0000 0010==000000000

??作用:讓指定位置上的數(shù)置零,或者保留某一位上的值。

??|(按位或):同0才為0

| 0 1
0 0 1
1 1 1
print(3|2) #3
print(-3|2) #-1  1111 1101 | 0000 0010==(補(bǔ)碼)11111111=(原碼)1000 0001

??^(異或):不同為1,相同為0

^ 0 1
0 0 1
1 1 0
print(3|2) #1
print(-3|2) #-1  1111 1101 ^ 0000 0010==(補(bǔ)碼)1111 1111=(原碼)1000 0001

??~(取反):按位取反(包括符號位)
??注意:正數(shù)取反后為負(fù)數(shù),且負(fù)數(shù)在計(jì)算機(jī)中表現(xiàn)為補(bǔ)碼,要轉(zhuǎn)換為原碼。

print(~5) #-6  ~0101=(補(bǔ)碼)1010=(原碼)1110
print(~-5) #4 ~1101=~(補(bǔ)碼)1011=0100

??<<(左移):數(shù)字<<位數(shù),將補(bǔ)碼向左移動(dòng)指定位數(shù),后面用0補(bǔ)齊。

print(10<<1) #20  0000 1010<<1=0001 0100
print(-10<<1) #-20  1000 1010<<1=1111 0110(補(bǔ)碼)<<1=1110 1100(補(bǔ)碼)=1001 0100

??規(guī)律:m<<n==m*(2^n)

??右移:數(shù)字>>位數(shù),將補(bǔ)碼向右移動(dòng)指定位數(shù),符號位不變,在符號位后補(bǔ)指定個(gè)數(shù)的正數(shù)補(bǔ)0或負(fù)數(shù)補(bǔ)1

print(10>>1) #5  0000 1010>>1=00000101
print(-10>>1) #-20  1000 1010>>1=1111 0110(補(bǔ)碼)>>1=1111 1011(補(bǔ)碼)=10000101

??規(guī)律:m>>n==m//(2^n)

4.字符串(str)

???python中通過單引號和雙引號引起來的字符集就是字符串,如“jskf??j","int" "in"…………;字符串中引號中的字符串集,就是各種不同的字符來組成的。

4.1Unicode編碼

??python中字符串字符采用的是Unicode編碼;Unicode編碼是通過兩個(gè)字節(jié)來對一個(gè)字符進(jìn)行編碼,0~2^16-1(65536),幾乎包含了世界上所有的符號。其中也包含了ASCII碼表,ASCII編碼:是通過一個(gè)字節(jié)來對一個(gè)字符進(jìn)行編碼。

a:chr(數(shù)字):獲取數(shù)字在unicode編碼表中對應(yīng)的字符,返回只有一個(gè)字符的字符串。
b:ord(字符):獲取字符對應(yīng)的Unicode碼。
c:可以直接在字符串中寫對應(yīng)的編碼值,格式:\u4位的十六進(jìn)制的編碼值。

print(chr(0x45),chr(20))
print(ord("p"))
str1='\u45\u20'#通過編碼值寫字符串

轉(zhuǎn)義字符(適用于所有語言)
??一些特能和具有特殊意義的字符,放在字符串引號中無用,要用\來轉(zhuǎn)義,如\n換行,\t制表符,\\就是\ 。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,237評論 6 537
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,957評論 3 423
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,248評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,356評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,081評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,485評論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,534評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,720評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,263評論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,025評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,204評論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,787評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,461評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,874評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,105評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,945評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,205評論 2 375

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

  • 網(wǎng)站亂碼問題我們會(huì)經(jīng)常碰到,大多見于非英文的中文字符或其他字符亂碼,而且,這類問題常常是因?yàn)榫幋a方式問題,主要原因...
    波段頂?shù)?/span>閱讀 2,930評論 1 9
  • 進(jìn)制基本概念 什么是進(jìn)制?進(jìn)制是一種計(jì)數(shù)的方式,數(shù)值的表示形式 常見的進(jìn)制十進(jìn)制、二進(jìn)制、八進(jìn)制、十六進(jìn)制 進(jìn)制書...
    極客江南閱讀 2,036評論 0 11
  • 概述 在計(jì)算機(jī)內(nèi),有符號數(shù)有3種表示法:原碼、反碼和補(bǔ)碼。 在計(jì)算機(jī)中,數(shù)據(jù)是以補(bǔ)碼的形式存儲(chǔ)的,所以補(bǔ)碼在c語言...
    小辰帶你看世界閱讀 2,594評論 0 1
  • 所有人結(jié)婚之前都抱著一輩子長相廝守,可是現(xiàn)實(shí)呢?等你結(jié)了婚之后你就知道,其實(shí)兩個(gè)人有很多問題,比如男人不思進(jìn)取、沒...
    一顆破碎的心2017閱讀 238評論 0 0
  • 早晨粑粑起床送爺爺去火車站,呦呦像往常一樣也早早地就醒了。還不到六點(diǎn)鐘,所以我就開始喂奶,試圖讓他在還沒有完全清醒...
    Lynette楊菲菲閱讀 135評論 0 2