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

一蚜退、進(jìn)制

計(jì)算機(jī)在存儲(chǔ)數(shù)字的時(shí)候都是以二進(jìn)制的形式去存的
十進(jìn)制幔睬、十六進(jìn)制背亥、八進(jìn)制般眉、二進(jìn)制

1.十進(jìn)制

100 78 3 223 82391737417234
基數(shù):0我纪,1慎宾,2丐吓,3,4趟据,5券犁,6,7之宿,8族操,9
進(jìn)位:逢10進(jìn)1
每一位的值: 123 = 1100 + 210 + 31 = 110^2 + 210^1 + 310^0
111 = 1 * 10^0 + 1 * 10^1 + 1 * 10^2 = 111

2.二進(jìn)制

所有二進(jìn)制數(shù)都是由0和1組成: 011001
基數(shù):0,1
進(jìn)位:逢2進(jìn)1 100 1011
每一位的值:11011 = 12^0 + 12^1 + 02^2 + 12^3 + 1*2^4 = 27
111 = 1 * 2^0 + 1 * 2^1 + 1 * 2^2 = 7

3.八進(jìn)制

基數(shù):0比被,1色难,2,3等缀,4枷莉,5,6尺迂,7
進(jìn)位:逢8進(jìn)1
每一位的值:111 = 1 * 8^0 + 1 * 8^1 + 1 * 8^2 = 73

4.十六進(jìn)制

89 89af aaffee 89f
基數(shù):0-9笤妙,a-f(A-F) ---> a(10),b(11),c(12),d(13),e(14),f(15)
進(jìn)位:逢16進(jìn)1
每一位的值:111 = 116^0 + 116^1 + 1*16^2 = 273

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

a.其他進(jìn)制轉(zhuǎn)換成10進(jìn)制:每一位上的數(shù)乘以進(jìn)制幕次數(shù),然后求和
b.十進(jìn)制轉(zhuǎn)其他進(jìn)制:輾轉(zhuǎn)取余法
123:(2)0 0111 1011 60:(2)111100
123:(8)173 173
123:(16)7B 7b

c.二進(jìn)制轉(zhuǎn)8進(jìn)制: 每3位二進(jìn)制轉(zhuǎn)換成1位;
八轉(zhuǎn)二: 一位8進(jìn)制轉(zhuǎn)換成3位的二進(jìn)制
(8)671 --> (2)110 111 001

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

6.python對(duì)進(jìn)制的支持

python支持通過二進(jìn)制噪裕、八進(jìn)制蹲盘、十進(jìn)制和十六進(jìn)制的形式來直接表示整數(shù)
a.十進(jìn)制:直接寫的數(shù)字的值都是十進(jìn)制的數(shù)
10
100
76
110011
b.二進(jìn)制:需要加前綴 -> 0b
number = 0b1010
number2 = 0b1110 + 10
print(number2)

c.八進(jìn)制:需要加前綴 -> 0o/0O
0o67
0o34

d.十六進(jìn)制:需要加前綴 -> 0x/0X
0x78af
number = 0Xfa5

print(number)
print(type(0xfa))


image.png

e.進(jìn)制的轉(zhuǎn)換(結(jié)果是字符串)
bin(整數(shù)) --> 將括號(hào)中的整數(shù),轉(zhuǎn)換成二進(jìn)制形式
print(bin(10), bin(0o56), bin(0xaf))
print(type(bin(10)))

oct(整數(shù)) --> 將括號(hào)中的整數(shù)膳音,轉(zhuǎn)換成八進(jìn)制形式
print(oct(10), oct(0b110110), oct(0xaf))

hex(整數(shù)) --> 將括號(hào)中的整數(shù)召衔,轉(zhuǎn)換成十六進(jìn)制形式
print(hex(10), hex(0b110110), hex(0o56))

二、原碼的反碼與補(bǔ)碼

計(jì)算機(jī)在存數(shù)字的時(shí)候祭陷,存的是數(shù)字的二進(jìn)制的補(bǔ)碼
計(jì)算機(jī)內(nèi)存的最小單位是位:1位只能存儲(chǔ)兩個(gè)狀態(tài)
8位 = 1字節(jié)

a.原碼:整數(shù)數(shù)字的二進(jìn)制形式

十進(jìn)制的10的原碼就是:1010
最高位是符號(hào)位苍凛,如果正數(shù)符號(hào)位為0,負(fù)數(shù)符號(hào)位為1
10的原碼 00000000 00001010
-10的原碼 10000000 00001010

b.反碼

正數(shù)的反碼是它的原碼
負(fù)數(shù)的反碼就是這個(gè)數(shù)的原碼的符號(hào)位不變兵志,然后其他位置上的數(shù)取反(0->1,1->0)
-10 -> (原碼)10000000 00001010 ->(反碼)11111111 11110101

c.補(bǔ)碼

正數(shù)的補(bǔ)碼就是它的原碼
負(fù)數(shù)的補(bǔ)碼是它的反碼加1
-10 -> (反碼)11111111 11110101 -> (補(bǔ)碼)1111111 11110110

總結(jié):正的反碼和補(bǔ)碼都是原碼;負(fù)數(shù)的補(bǔ)碼是反碼加1醇蝴,反碼是原碼符號(hào)位不變,其他位取反
為什么計(jì)算機(jī)存儲(chǔ)數(shù)據(jù)的時(shí)候存補(bǔ)碼想罕?:因?yàn)橛?jì)算機(jī)中只有加法器悠栓,只能進(jìn)行加操作。
存原碼對(duì)負(fù)數(shù)進(jìn)行加操作的時(shí)候有問題

三按价、位運(yùn)算

計(jì)算存數(shù)字存補(bǔ)碼惭适,計(jì)算的時(shí)候也是補(bǔ)碼,最后結(jié)果看的時(shí)候看原碼

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

1.&(按位與)

數(shù)字1 & 數(shù)字2 :兩個(gè)都為1結(jié)果才是1逮走,否則為0
3 & 2 --> 00000011 & 00000010 == 00000010
-3 & 2 --> 11111101 & 00000010 == 00000000
print(3&2)
print(-3&2)

image.png

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

2.|(按位或)

數(shù)字1 | 數(shù)字2: 只要有一個(gè)為1,結(jié)果就是1;兩個(gè)都為茅信,結(jié)果才是0
3 | 2 --> 00000011 | 00000010 = 00000011
-3 | 2 --> 11111101 | 00000010 = (補(bǔ))11111111 = (原)10000001
print(3|2)
print(-3|2)


image.png
3.^(異或)

數(shù)字1 ^ 數(shù)字2: 不同為1盾舌,相同為0
3^2 --> 00000011 ^ 00000010 = 00000001
-3^2 --> 11111101 ^ 00000010 = (補(bǔ))11111111 = 10000001
print(3^2)
print(-3^2)

image.png
4.~(取反)

~數(shù)字: 將每一位取反
~3 ---> ~00000011 = 11111100(補(bǔ)) = 10000100
~-3 ---> ~11111101 = 00000010
print(~3)
print(~-3)


image.png
5.左移(重點(diǎn)掌握)

數(shù)字 << 位數(shù): 將補(bǔ)碼向左移動(dòng)指定的位數(shù),符號(hào)位不變蘸鲸,在最后面補(bǔ)指定個(gè)數(shù)的0# 規(guī)律(正數(shù)和負(fù)數(shù)都實(shí)用):m << n == m * (2^n)
print(10 << 3) # 20 102^1 102^2 10*2^3
print(-10 << 2) # -20
print(2 << 2)
print(-23 << 2)

image.png

num * 2 == num << 1 num * 4 == num << 2

6.右移

數(shù)字 >> 位數(shù): 將補(bǔ)碼向右移動(dòng)指定的位數(shù)妖谴,符號(hào)位不變,在符號(hào)位的后面補(bǔ)指定個(gè)數(shù)的0(正)或者1(負(fù))
規(guī)律(只適用于正數(shù)):m >> n == m // (2^n)
print(10 >> 1)
print(-10 >> 1)
print(-10 >> 2)

image.png

num = 139425088889302854928304850238540982304583098450932840583209584092354932845972389475893457235
print(num)

四酌摇、認(rèn)識(shí)字符

字符串(str)

1.什么是字符串

python中通過單引號(hào)或者上引號(hào)引起來的字符集就是字符串
字符串中引號(hào)中的字符集膝舅,就是又各種不同的字符來組成的。
'abhsjjd'
'26238'
'海金沙'
'^&#@(@&@'
'??'
'in'
'223hdu話說接電話
*&&'
"uuk"
"237ashs"
'a'

2.Unicode編碼

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

str1 = 'how'
print(2**15)
str2 = '余婷'
print(str2)


image.png

chr(數(shù)字): 獲取數(shù)字在Unicode編碼表中對(duì)應(yīng)的字符,返回的是只有一個(gè)字符的字符串
print(chr(97))
print(chr(0x1813))
print(chr(0x1b02))

image.png

ord(字符): 獲取字符對(duì)應(yīng)的Unicode碼
print(ord('余'), ord('婷'))
print(ord('??'))
print(0xffff)

image.png

可以直接在字符串中寫字符對(duì)應(yīng)的編碼值仍稀,格式:\u四位的十六進(jìn)制
str1 = 'ah\u4e00\u4e01jhuu'
print(str1)

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

一些特能和具有特殊意義的字符,直接放在字符串的引號(hào)中無效埂息,需要通過\來轉(zhuǎn)義
\n ---> 換行
' ----> '
\t ----> 制表符
\ ---->
" ----> "
str1 = 'huy\nushs'
print(str1)
str1 = '\thello'wo"rld\a'
print(str1)

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末技潘,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子千康,更是在濱河造成了極大的恐慌享幽,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拾弃,死亡現(xiàn)場(chǎng)離奇詭異值桩,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)砸彬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門颠毙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人砂碉,你說我怎么就攤上這事蛀蜜。” “怎么了增蹭?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵滴某,是天一觀的道長。 經(jīng)常有香客問我滋迈,道長霎奢,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任饼灿,我火速辦了婚禮幕侠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘碍彭。我一直安慰自己晤硕,他們只是感情好悼潭,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著舞箍,像睡著了一般舰褪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上疏橄,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天占拍,我揣著相機(jī)與錄音,去河邊找鬼捎迫。 笑死晃酒,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的窄绒。 我是一名探鬼主播掖疮,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼颗祝!你這毒婦竟也來了浊闪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤螺戳,失蹤者是張志新(化名)和其女友劉穎搁宾,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體倔幼,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡盖腿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了损同。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片翩腐。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖膏燃,靈堂內(nèi)的尸體忽然破棺而出茂卦,到底是詐尸還是另有隱情,我是刑警寧澤组哩,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布等龙,位于F島的核電站,受9級(jí)特大地震影響伶贰,放射性物質(zhì)發(fā)生泄漏蛛砰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一黍衙、第九天 我趴在偏房一處隱蔽的房頂上張望泥畅。 院中可真熱鬧,春花似錦琅翻、人聲如沸位仁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽障癌。三九已至,卻和暖如春辩尊,著一層夾襖步出監(jiān)牢的瞬間涛浙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來泰國打工摄欲, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留轿亮,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓胸墙,卻偏偏與公主長得像我注,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子迟隅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

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

  • 一但骨、進(jìn)制 1.進(jìn)制的分類 附:計(jì)算機(jī)在存儲(chǔ)數(shù)字的時(shí)候,都是以二進(jìn)制的形式存儲(chǔ) 2.進(jìn)制位數(shù)的值 二進(jìn)制:111(2...
    丿Rem丶閱讀 445評(píng)論 0 0
  • 進(jìn)制 計(jì)算機(jī)在存儲(chǔ)數(shù)字的時(shí)候都是以二進(jìn)制的形式去存的十進(jìn)制、十六進(jìn)制智袭、八進(jìn)制奔缠、二進(jìn)制 1.進(jìn)制之間的轉(zhuǎn)換 a.其他...
    W_00ee閱讀 227評(píng)論 0 0
  • 一、進(jìn)制 計(jì)算機(jī)在存儲(chǔ)數(shù)字的時(shí)候都是以二進(jìn)制的形式去存的吼野。 1.十進(jìn)制 舉例 基數(shù):0,1,2,3,4,5,6,7...
    xdxh閱讀 485評(píng)論 0 0
  • 一校哎、進(jìn)制 1.了解進(jìn)制 常用的進(jìn)制有 十進(jìn)制、十六進(jìn)制瞳步、八進(jìn)制闷哆、二進(jìn)制。計(jì)算機(jī)在存儲(chǔ)數(shù)字的時(shí)候都是以二進(jìn)制的形式去...
    留級(jí)是不可能留級(jí)的閱讀 286評(píng)論 0 0
  • 一括儒、進(jìn)制 計(jì)算機(jī)在存儲(chǔ)數(shù)據(jù)的時(shí)候都是以二進(jìn)制的形式去存儲(chǔ)的十進(jìn)制绕沈、十六進(jìn)制、八進(jìn)制帮寻、二進(jìn)制 1乍狐、十進(jìn)制 123、4...
    ATM_shark閱讀 1,340評(píng)論 0 1