day3-進制和字符串

一刷晋、進制

計算機在存儲數(shù)字的時候都是以二進制的形式去存的。

進制 進位
十進制 逢10進1
二進制 逢2進1
八進制 逢8進1
十六進制 逢16進1

1.十進制

舉例

 100 78 95 3 65 45 62 165449

基數(shù):0,1,2,3,4,5,6,7,8,9
進位:逢10進1
每一位的值:111 = 1*10^0 + 1*10^1 + 1*10^2 = 111


2.二進制

舉例

 100 110 011 01110 1111111 111110

基數(shù):0,1
進位:逢2進1
每一位的值:111 = 1*2^0 + 1*2^1 + 1*2^2 = 7


3.八進制

舉例

 6543161 2454746 361614 77625

基數(shù):0,1,2,3,4,5,6,7
進位:逢8進1
每一位的值:111 = 1*8^0 + 1*8^1 + 1*8^2 = 73


4.十六進制

舉例

 123fff 316bcd 546fccc 666aaa

基數(shù):0,1,2,3,4,5,6,7,8,9,a-f(A-F)
進位:逢16進1
每一位的值:111 = 1*16^0 + 1*16^1 + 1*16^2 = 273


5.進制之間的轉(zhuǎn)換

a.其他進制轉(zhuǎn)換成10進制:每一位上的數(shù)乘以進制冪次數(shù),然后求和山孔。
b.十進制轉(zhuǎn)其他進制:輾轉(zhuǎn)取余法感昼。
c.二進制轉(zhuǎn)8進制:每3位二進制轉(zhuǎn)換成1位的8進制。
d.二進制轉(zhuǎn)16進制:每4位二進制轉(zhuǎn)換成1位的16進制顺献。

例子

123:(2)1111011  60:(2)111100
123: (8)173 
123: (16)7B

八轉(zhuǎn)二:一位8進制轉(zhuǎn)換成3位的二進制
(8)671 --> (2)110 111 001

十六轉(zhuǎn)二:一位的16進制轉(zhuǎn)換成4位的二進制
(16)67 --> (2)0110 0111

6.python對進制的支持

python支持通過二進制旗国、八進制、十進制和十六進制的形式來直接表示整數(shù)注整。

a.十進制:直接寫的數(shù)字的值都是十進制的數(shù)

例子

10 
10
76

b.二進制:需要加前綴 -> 0b

例子

0b1010
0b1110

c.八進制:需要加前綴 -> 0o

例子

0o67
0o34

d.十六進制:需要加前綴 -> 0x

例子

0x78af
0xfa5

e.進制的轉(zhuǎn)換(結(jié)果是字符串)

函數(shù) 功能
bin(整數(shù)) 將括號中的整數(shù)能曾,轉(zhuǎn)換成二進制形式的數(shù)
oct(整數(shù)) 將括號中的整數(shù)度硝,轉(zhuǎn)換成八進制形式的數(shù)
hex(整數(shù)) 將括號中的整數(shù),轉(zhuǎn)換成十六進制形式的數(shù)

代碼

print(bin(10),bin(0o56),bin(0xaf))
print(oct(10),oct(0b110110),oct(0xaf))
print(hex(10),hex(0b110110),hex(0o56))

測試結(jié)果

1.PNG

二寿冕、原碼反碼和補碼

計算機在存數(shù)字的時候蕊程,存的是數(shù)字的二進制的補碼。
計算機內(nèi)存的最小單位是位:一位只能存儲兩個狀態(tài)驼唱。
8位 = 1字節(jié)

1.原碼:整數(shù)數(shù)字的二進制形式

最高位是符號位藻茂,如果是整數(shù)符號位為0,負數(shù)符號位為1玫恳。

例子

10的原碼   00000000 00001010
-10的原碼  10000000 00001010

2.反碼

(a)正數(shù)的反碼是它的原碼
(b)負數(shù)的反碼就是這個數(shù)的原碼的符號位不變辨赐,然后其他位置上的數(shù)取反(0->1,1->0)

例子

10 -> (原碼)10000000 00001010 -> (反碼)11111111 11110101

3.補碼

(a)正數(shù)的補碼就是它的原碼
(b)負數(shù)的補碼就是它的反碼加1

例子

-10 -> (反碼)11111111 11110101 -> (補碼)11111111 11110110

總結(jié):正數(shù)的反碼和補碼都是原碼;負數(shù)的補碼是反碼加1,反碼是原碼符號位不變纽窟,其它位取反肖油。
因為計算機中只有加法器,只能進行加操作臂港。存原碼對負數(shù)進行加操作的時候有問題森枪。


三、位運算

計算存數(shù)字存補碼审孽,計算的時候也是補碼县袱,最后結(jié)果看到時候看原碼。

位運算 符號
按位與 &
按位或
異或 ^
取反 ~
右移 >>
左移 <<

1.&(按位與)

數(shù)字1 & 數(shù)字2 :二進制的每一位佑力,兩個都為1結(jié)果才是1式散,否則為0

例子

3 & 2 --> 00000011 & 00000010 = 00000010
-3 & 2 --> 11111101 & 00000010 = 00000000

代碼

print(3&2)
print(-3&2)

測試結(jié)果

1.PNG

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


2.|(按位或)

數(shù)字1 | 數(shù)字2 :只要有一個為1暴拄,結(jié)果就是1 ,兩個都為0编饺,結(jié)果才是0

例子

3 | 2 --> 00000011 | 00000010 = 00000011
-3 | 2 --> 11111101 | 00000010 = (補)11111111 = (原)10000001

代碼

print(3|2)
print(-3|2)

測試結(jié)果

2.PNG

3.^(異或)

數(shù)字1 ^ 數(shù)字2:不同為1乖篷,相同為0

例子

3^2 --> 00000011 ^ 00000010 = 00000001
# -3^2 --> 11111101 ^ 00000010 = (補)11111111 = (原)10000001

代碼

print(3^2)
print(-3^2)

測試結(jié)果

3.PNG

4.~(取反)

~數(shù)字:將每一位取反

例子

# ~3 --> ~00000011 = (補)11111100 = 10000100
# ~-3 --> ~11111101 = (補)00000010 

代碼

print(~3)
print(~-3)

測試結(jié)果

4.PNG

5.左移

數(shù)字 << 位數(shù):將補碼向左移動指定的位數(shù),符號位不變透且,在最后面補指定個數(shù)的0
規(guī)律(正數(shù)和負數(shù)都實用):m << n == m* (2^n)

代碼

print(10 << 3)  #80 
print(-10 << 3) #-80 

測試結(jié)果

5.PNG

6.右移

數(shù)字 >> 位數(shù):將補碼向右移動指定的位數(shù)撕蔼,符號位不變,在符號位的后面補指定個數(shù)的0(正)或者1(負)
規(guī)律(只適用于正數(shù)):m >> n == m // (2^n)

代碼

print(10 >> 1)
print(-10 >> 2)

測試結(jié)果

6.PNG

四秽誊、認識字符串(str)

1.什么是字符串

(a)python中通過單引號或者雙引號引起來的字符集就是字符串鲸沮。
(b)字符串中引號中的字符集,就是用各種不同的字符來組成的锅论。


2.Unicode編碼

(a)python中字符串中字符采用的是Unicode編碼
(b)Unicode編碼:是通過兩個字節(jié)來對一個字符進行編碼讼溺,0 ~ 2^16-1(65535).它幾乎包含了世界上所有的符號
(c)ASCII編碼:是通過一個字節(jié)來對一個字符進行編碼
(d)Unicode編碼中包含了ASCII碼表
(e)chr(數(shù)字):獲取數(shù)字在Unicode編碼表中對應的字符,返回的是只有一個字符的字符串
(f)ord(字符):獲取字符對應的Unicode碼
(g)可以直接在字符串中寫字符對應的編碼值棍厌,格式:\u四位的十六進制

代碼

print(chr(97))

print(ord('程'),ord('序'),ord('員'))

str1 = '\u4e00\u4e01'
print(str1)

測試結(jié)果

8.PNG

3.轉(zhuǎn)義字符(適用于所有語言)

轉(zhuǎn)義字符:一些具有特殊功能和具有特殊意義的字符肾胯,直接放在字符串的引號中無效竖席,需要通過\來轉(zhuǎn)義。

轉(zhuǎn)義字符 功能
\n 換行
\ ' '
\t 制表符
\\ \
\" "

代碼

str1 = 'xiao\\nyu'
str2 = '\thello\'world'
print(str1)
print(str2)

測試結(jié)果

10.PNG

五敬肚、Day3-作業(yè)

1.下列四組數(shù)毕荐,依次為二進制、八進制和十六進制艳馒,符合要求的是()
a. 12, 77, 10
b. 12, 80, 10
c. 11, 78, 19
d. 11, 77, 19

答案

D


2.二進制數(shù)加法運算的基本特點是“逢二進一”憎亚,即0+0=0,0+1=1弄慰,1+0=1第美,1+1=0并進位。運用這一基本法則和十進制運算的類似規(guī)律陆爽,得出二進制數(shù)加法運算1001+101的結(jié)果為()
a. 1001
b. 1010
c. 1110
d. 1101

答案

C


3.八進制754中的數(shù)碼7對應的位權(quán)是()
a. 10^2
b. 16^1
c. 8^2
d. 2^2

答案

C


4.十進制數(shù)53轉(zhuǎn)換成二進制數(shù)是()
a. 100101
b. 110101
c.100100
d.110100

答案

B


5.(偏難)已知什往,十進制中的8在X進制中表示為11,即(10)8=(X)11慌闭。請問這個X進制具體為()進制
a. 6
b. 7
c. 8
d. 9

答案

B


6.二進制的1000001相當十進制的____别威,二進制的100.001可以表示為__。
A: ① 62 ② 63 ③ 64 ④ 65
B: ① 23+2–3 ② 22+2–2 ③ 23+2–2 ④ 22+2–3

答案



7.使用位運算判斷一個數(shù)是否是奇數(shù)
注:奇數(shù)的二進制的最后一位是1驴剔,偶數(shù)是0

答案

print(0b1101 & 1 == 1)
print(0b1010 & 1 == 1)
結(jié)果為True則為奇數(shù)省古,否則為偶數(shù)


8.表達式0x13&0x17的值是()

答案

0x13


9.若x=2,y=3則x&y的結(jié)果是( )

答案

2


10.表達式 ord('a') | ord('z') 的運算結(jié)果是()

答案

123


11.在位運算中,操作數(shù)每右移一位丧失,其結(jié)果相當于( )

A.操作數(shù)乘以2
B.操作數(shù)除以2
C.操作數(shù)除以4
D.操作數(shù)乘以4

答案

B


12.設x 是一個整數(shù)(16位).若要通過x|y使x低8位置1豺妓,高8位不變,則y的二進制數(shù)是( )

答案

00000000 11111111


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末布讹,一起剝皮案震驚了整個濱河市琳拭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌描验,老刑警劉巖臀栈,帶你破解...
    沈念sama閱讀 212,332評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異挠乳,居然都是意外死亡,警方通過查閱死者的電腦和手機姑躲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,508評論 3 385
  • 文/潘曉璐 我一進店門睡扬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人黍析,你說我怎么就攤上這事卖怜。” “怎么了阐枣?”我有些...
    開封第一講書人閱讀 157,812評論 0 348
  • 文/不壞的土叔 我叫張陵马靠,是天一觀的道長奄抽。 經(jīng)常有香客問我,道長甩鳄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,607評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮悠轩,結(jié)果婚禮上音诫,老公的妹妹穿的比我還像新娘。我一直安慰自己揖赴,他們只是感情好馆匿,可當我...
    茶點故事閱讀 65,728評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著燥滑,像睡著了一般渐北。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上铭拧,一...
    開封第一講書人閱讀 49,919評論 1 290
  • 那天赃蛛,我揣著相機與錄音,去河邊找鬼羽历。 笑死焊虏,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的秕磷。 我是一名探鬼主播诵闭,決...
    沈念sama閱讀 39,071評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼澎嚣!你這毒婦竟也來了疏尿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,802評論 0 268
  • 序言:老撾萬榮一對情侶失蹤易桃,失蹤者是張志新(化名)和其女友劉穎褥琐,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晤郑,經(jīng)...
    沈念sama閱讀 44,256評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡敌呈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,576評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了造寝。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片磕洪。...
    茶點故事閱讀 38,712評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖诫龙,靈堂內(nèi)的尸體忽然破棺而出析显,到底是詐尸還是另有隱情,我是刑警寧澤签赃,帶...
    沈念sama閱讀 34,389評論 4 332
  • 正文 年R本政府宣布谷异,位于F島的核電站分尸,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏歹嘹。R本人自食惡果不足惜箩绍,卻給世界環(huán)境...
    茶點故事閱讀 40,032評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望荞下。 院中可真熱鬧伶选,春花似錦、人聲如沸尖昏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抽诉。三九已至陨簇,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間迹淌,已是汗流浹背河绽。 一陣腳步聲響...
    開封第一講書人閱讀 32,026評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留唉窃,地道東北人耙饰。 一個月前我還...
    沈念sama閱讀 46,473評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像纹份,于是被迫代替她去往敵國和親苟跪。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,606評論 2 350

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