程序員的數(shù)學(xué)基礎(chǔ)課

參考:程序員的數(shù)學(xué)基礎(chǔ)課

第一章:二進(jìn)制


1、什么是二進(jìn)制計(jì)數(shù)法假消?

理解二進(jìn)制之前,先理解十進(jìn)制富拗。十進(jìn)制的基數(shù)是10臼予,例如:2871 = 210^3 + 810^2 + 710^1 + 1100啃沪,可以看到十進(jìn)制的數(shù)位全部都是10n的形式。

明白了十進(jìn)制创千,同理二進(jìn)制的基數(shù)就是2,二進(jìn)制的數(shù)位就是2^n的形式追驴,例如110101為二進(jìn)制,表示為十進(jìn)制:

image

按照這個(gè)思路殿雪,我們可以推導(dǎo)出八進(jìn)制、十六進(jìn)制等丙曙。

基于此,我們來看看二進(jìn)制扯旷、十進(jìn)制、八進(jìn)制和十六進(jìn)制在python中是如何互相轉(zhuǎn)換的钧忽,并驗(yàn)證我們之前的推斷。

image

2逼肯、二進(jìn)制的位操作

常見的二進(jìn)制位操作包括向左移位和向右移位操作耸黑,以及“或” “與” “異或” 的邏輯操作。下面我們一一來看汉矿。

向左移位

二進(jìn)制 110101 向左移一位崎坊,就是在末尾添加一位 0,因此 110101 就變成了 1101010奈揍。請(qǐng)注意赋续,這里討論的是數(shù)字沒有溢出的情況男翰。

所謂數(shù)字溢出纽乱,就是二進(jìn)制數(shù)的位數(shù)超過了系統(tǒng)所指定的位數(shù)冒版,目前主流的系統(tǒng)都支持至少32位的整型數(shù)字。如果進(jìn)行左移操作的二進(jìn)制已經(jīng)超出了32位,左移后數(shù)字就會(huì)溢出明郭,需要將溢出的位數(shù)去除栏尚。

image

在這個(gè)例子中吮便,如果將1101010換算為十進(jìn)制镜粤,int(0b1101010)捏题,就是106肉渴,正好是53的二倍。 所以循狰,我們可以得出一個(gè)結(jié)論:二進(jìn)制左移一位,其實(shí)就是將數(shù)字翻倍晤揣。

向右移位

二進(jìn)制 110101 向右移一位朱灿,就是去除末尾的那一位钠四,因此110101就變成了11010盗扒。我們將11010換算為十進(jìn)制缀去,int(0b11010) 等于 26。正好是53除以2的整數(shù)商褥影,所以二進(jìn)制右移一位咏雌,就是將數(shù)字除以2的整數(shù)商凡怎。

image

接下來我們看看代碼中如何進(jìn)行移位操作:

image

對(duì)10進(jìn)行左移2位统倒,5進(jìn)行右移2位氛雪,結(jié)果:

image

位的“或”

num1 = 0b110101
num2 = 0b100011
print(bin(num1 | num2))
//  output:  0b110111

位的“與”

num1 = 0b110101
num2 = 0b100011
print(bin(num1 & num2))
//  output:  0b100001

位的“異或”

異或
num1 = 0b110101
num2 = 0b100011
print(bin(num1 ^ num2))
//  output:  0b10110

總結(jié)

  1. 什么是二進(jìn)制?
    十進(jìn)制使用 10 作為基數(shù)浴鸿,x 進(jìn)制使用 x 作為基數(shù), x 進(jìn)制的數(shù)位>就是 x^n 的形式
  2. 計(jì)算機(jī)為什么使用二進(jìn)制?
    二進(jìn)制的數(shù)據(jù)表達(dá)具有抗干擾能力強(qiáng)毙沾、可靠性高的優(yōu)點(diǎn);二進(jìn)制非常適>合邏輯運(yùn)算
  3. 二進(jìn)制的位操作
    \underline{移位操作:}
    二進(jìn)制左移一位左胞,就是將數(shù)字翻倍举户。二進(jìn)制右移一位,就是將數(shù)字除以2并求整數(shù)商俭嘁。
    \underline{邏輯操作:}
    • 或:參與操作的位中,只要有一個(gè)是1供填,最終結(jié)果就是1
    • 與:參與操作的位中,必須全都是1叉瘩,最終結(jié)果才是1
    • 異或:參與操作的位相同粘捎,最終結(jié)果就為0薇缅,否則為1

第二章:余數(shù)

  1. 余數(shù)的特性:整數(shù)是沒有邊界的攒磨,它可能是正無窮,也可能是負(fù)無窮娩缰。余數(shù)卻總是在一個(gè)固定的范圍內(nèi)。生活中浮毯,余數(shù)可以用來算星期演痒,web編程中可以用在分頁中
  2. 同余定理:兩個(gè)整數(shù) ab亲轨,如果它們除以正整數(shù) m 得到的余數(shù)相等鸟顺,我們就可以說 ab 對(duì)于模 m 同余
  3. 哈希(Hash):每個(gè)編程語言都有對(duì)應(yīng)的哈希函數(shù)器虾。哈希有的時(shí)候也被翻譯為散列蹦锋,簡單來說就是將任意長度的輸入,通過哈希算法壓縮為某一固定長度的輸入

第三章:迭代法

......

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末葛圃,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子库正,更是在濱河造成了極大的恐慌厘唾,老刑警劉巖褥符,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件喷楣,死亡現(xiàn)場離奇詭異,居然都是意外死亡铣焊,警方通過查閱死者的電腦和手機(jī)罕伯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來捣炬,“玉大人绽榛,你說我怎么就攤上這事∶鹈溃” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵铁坎,是天一觀的道長犁苏。 經(jīng)常有香客問我硬萍,道長围详,這世上最難降的妖魔是什么祖屏? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任买羞,我火速辦了婚禮,結(jié)果婚禮上畜普,老公的妹妹穿的比我還像新娘。我一直安慰自己吃挑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布化撕。 她就那樣靜靜地躺著约炎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪圾浅。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天喷鸽,我揣著相機(jī)與錄音,去河邊找鬼做祝。 笑死鸡岗,一個(gè)胖子當(dāng)著我的面吹牛混槐,可吹牛的內(nèi)容都是我干的轩性。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼悯嗓,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了脯厨?” 一聲冷哼從身側(cè)響起坑质,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤个少,失蹤者是張志新(化名)和其女友劉穎眯杏,沒想到半個(gè)月后夜焦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體岂贩,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年卸伞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了锉屈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荤傲。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡遂黍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出雾家,到底是詐尸還是另有隱情,我是刑警寧澤芯咧,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布竹揍,位于F島的核電站,受9級(jí)特大地震影響芬位,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜晶衷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧永丝,春花似錦、人聲如沸慕嚷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至澡谭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蛙奖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國打工雁仲, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人缸兔。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓吹艇,卻偏偏與公主長得像灶体,于是被迫代替她去往敵國和親掐暮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

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