摘要:寫在前面博客主頁的江湖背景的江湖背景歡迎關(guān)注點贊收藏留言本文由原創(chuàng),首發(fā)首發(fā)時間年月日最新更新時間年月日堅持和努力一定能換來詩與遠方向未見花聞學(xué)習(xí)參考書籍深入理解計算機系統(tǒng)作者水平很有限,如果發(fā)現(xiàn)錯誤,請留言轟炸哦萬分感謝感謝感謝
?寫在前面
- ?博客主頁:kikoking的江湖背景
- ?歡迎關(guān)注?點贊?收藏??留言?
- ?本文由 kikokingzz 原創(chuàng),CSDN首發(fā)!
- ?首發(fā)時間:?2021年11月16日?
- ?最新更新時間:?2021年11月16日?
- ??堅持和努力一定能換來詩與遠方?。ㄏ蛭匆娀剬W(xué)習(xí))
- ?參考書籍:?《深入理解計算機系統(tǒng)》
- ?作者水平很有限,如果發(fā)現(xiàn)錯誤,請留言轟炸哦!萬分感謝感謝感謝!
???我是分割線???
2.1信息存儲
·大多數(shù)計算機采用8bit的字節(jié)作為最小的可尋址的內(nèi)存單位,而不是bit。
所以我們常說的32為機器,其地址為32位,但一個地址序列只存儲1字節(jié),注意單位是字節(jié)
1.虛擬內(nèi)存
·機器級程序?qū)?nèi)存視為一個非常大的字節(jié)數(shù)組,所有可能地址的集合就稱為虛擬地址空間
2.機器級層面 程序就是字節(jié)序列
·C編譯器維護數(shù)據(jù)類型的信息,但是其生成的機器級程序并不包含關(guān)于數(shù)據(jù)類型的信息;每個程序?qū)ο蟊灰暈橐粋€字節(jié)塊,程序就變?yōu)橐粋€字節(jié)序列
???我是分割線???
?2.1.1·采用十六進制數(shù)表示位模式
·因為二進制表示法太冗長
·十進制表示法與位模式的互相轉(zhuǎn)化很麻煩
?·掌握:進制轉(zhuǎn)換
???我是分割線???
?2.1.2·字?jǐn)?shù)據(jù)的大小
1.每臺計算機都有一個字長(32位機器/64位機器),指明指針數(shù)據(jù)的標(biāo)稱大小
2.32位字長的內(nèi)存(虛擬地址空間)為4GB
??? ?由此計算可得32位字長的機器內(nèi)存位4GB
?3.數(shù)據(jù)類型的大小
???我是分割線???
?2.1.3尋址和字節(jié)順序
1.多字節(jié)對象的地址為所使用字節(jié)(內(nèi)存單元序號)中字節(jié)最小的地址
?2.字節(jié)順序
·大端法:最高有效字節(jié)在最前面的方式
·小端法:最低有效字節(jié)在最前面的方式
?·雙端法:可以配置作為大端或者小端的機器運行
?2.1.4表示字符串
1.C語言中字符串被編碼為一個以null(其值為0)字符結(jié)尾的字符數(shù)組
2.每個字符都由某個標(biāo)準(zhǔn)編碼來表示,最常見的就是ASCII碼
3.文本數(shù)據(jù)比二進制數(shù)據(jù)具有更強的平臺獨立性
·因為在使用ASCII作為字符碼的任何系統(tǒng)上都將得到相同的結(jié)果,與字節(jié)順序和字節(jié)大小無關(guān)(即無關(guān)大小端機器,輸出結(jié)果相同)
?2.1.5表示代碼
·即使是完全一樣的進程,運行在不同的操作系統(tǒng)上也會有不同的編碼規(guī)則;即二進制代碼是不兼容的,很少能在不同機器和操作系統(tǒng)間進行移植。
·機器級角度看來,程序只是字節(jié)序列,是不知道關(guān)于原始源程序的任何信息的
?2.1.6布爾代數(shù)
·布爾通過將邏輯值 TRUE 和 FALSE 編碼為二進制值1和0,設(shè)計出布爾代數(shù)
·掌握:計算
?2.1.7C語言中的位級運算
·C語言支持按位布爾運算
·例題1:如何不應(yīng)用外部變量來交換向x、y的值
?·例題2 掩碼運算
舉例:掩碼0xFF(最低的8位為1)表示一個字的低位字節(jié)
·位級運算 x&0xFF 生成一個由x最低有效字節(jié)組成的值,而其他字節(jié)被置為0
·x=0x89ABCDEF? ? ?;? ?x&0xFF=0x000000EF
我們應(yīng)當(dāng)熟練掌握位級運算,在編程時可以大大提高代碼的效率
?2.1.8C語言中的邏輯運算?
·C語言中還提供來一組邏輯運算符||、&&、! 分別對應(yīng)于命題邏輯中的OR、AND、NOT運算
·邏輯運算認(rèn)為所有的非零參數(shù)都表示TRUE,而參數(shù)0表示FALSE
·它們返回1或者0,分別表示TRUE和FALSE
·短路特性
·如果對第一個參數(shù)求值就能確定表達式對結(jié)果,那么邏輯運算符就不會對第二個參數(shù)求值
·超級好的例題?
?2.1.9C語言中的移位運算?
·左移
·(我覺得這段CSAPP講的沒有很難懂,就直接拷貝了)
?·右移
·邏輯右移:補0(無符號數(shù)必須邏輯右移)
·算術(shù)右移:補最高位(基本上對有符號數(shù)使用算術(shù)右移)
·很好的例子
?
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/123729.html
摘要:哪吒社區(qū)技能樹打卡打卡貼函數(shù)式接口簡介領(lǐng)域優(yōu)質(zhì)創(chuàng)作者哪吒公眾號作者架構(gòu)師奮斗者掃描主頁左側(cè)二維碼,加入群聊,一起學(xué)習(xí)一起進步歡迎點贊收藏留言前情提要無意間聽到領(lǐng)導(dǎo)們的談話,現(xiàn)在公司的現(xiàn)狀是碼農(nóng)太多,但能獨立帶隊的人太少,簡而言之,不缺干 ? 哪吒社區(qū)Java技能樹打卡?【打卡貼 day2...
摘要:從社區(qū)和過往的經(jīng)驗而言異步編程的難題已經(jīng)基本解決無論是通過事件還是通過模式或者流程控制庫。本章主要介紹了主流的幾種異步編程解決方案這是目前中主要使用的方案。最后因為人們總是習(xí)慣性地以線性的方式進行思考以致異步編程相對較為難以掌握。 前言 如果你想要深入學(xué)習(xí)Node,那你不能錯過《深入淺出Node.js》這本書,它從不同的視角介紹了 Node 內(nèi)在的特點和結(jié)構(gòu)。由首章Node 介紹為索引...
摘要:使用簽署免費證書后端掘金本文操作在操作系統(tǒng)下完成,需要和超文本傳輸安全協(xié)議英語,縮寫,常稱為,紅黑樹深入剖析及實現(xiàn)后端掘金紅黑樹是平衡二叉查找樹的一種。 使用 Lets Encrypt 簽署免費 Https 證書 - 后端 - 掘金 本文操作在Linux操作系統(tǒng)下完成,需要Python和Nginx 超文本傳輸安全協(xié)議(英語:Hypertext Transfer Protocol Sec...
閱讀 1756·2021-11-18 10:02
閱讀 2270·2021-11-15 11:38
閱讀 2728·2019-08-30 15:52
閱讀 2264·2019-08-29 14:04
閱讀 3288·2019-08-29 12:29
閱讀 2134·2019-08-26 11:44
閱讀 1058·2019-08-26 10:28
閱讀 897·2019-08-23 18:37