C - 計算機內(nèi)存


一、原理簡介

  • 計算機在執(zhí)行程序的時候清酥,組成程序的指令和程序鎖操作的數(shù)據(jù)都必須存儲在某個地方雄可,這個地方就是計算機的內(nèi)存凿傅,也稱為RAM∈唬可以將計算機的RAM想象一排井然有序的盒子聪舒。每個盒子都有兩個狀態(tài):滿為1,空為0.每個盒子稱為一個位(bit)虐急。每8個位組成一個字節(jié)箱残,在計算機中,一個英文字母占一個字節(jié)止吁,一個中文漢字占兩個字節(jié)被辑。
  • 計算機中常用的單位是千字節(jié)(KB),兆字節(jié)(MB)敬惦,千兆字節(jié)(GB)盼理。1KB = 1024bit,1MB = 1024KB俄删,1GB = 1024MB宏怔。
  • 具體編譯系統(tǒng)分配給不同數(shù)據(jù)類型的內(nèi)存空間由編譯器決定奏路,可在編譯器中由 sizeOf() 函數(shù)查看。

二臊诊、規(guī)范化的指數(shù)形式

  • 在指數(shù)形式的多種表示方式中把小樹部分中小數(shù)點錢的數(shù)字為0鸽粉,小數(shù)點后第一位數(shù)字不為0的表示形式稱為規(guī)范化的指數(shù)形式,如0.43242*10^1就是4.3242的規(guī)范化的指數(shù)形式妨猩。一個實數(shù)只有一個規(guī)范化的指數(shù)形式潜叛。
  • 浮點數(shù)包括:float(單精度)秽褒、double(雙精度)壶硅、long double(長雙精度)。

三销斟、關(guān)于溢出問題

  • 以float舉例庐椒,在內(nèi)存中分配4個字節(jié)(32位),但是4個字節(jié)有多少給小數(shù)蚂踊,有多少給指數(shù)约谈,是由c語言編譯系統(tǒng)自定的。
  • FLT_MIN犁钟、FLT_MAX 查詢最大值最小值棱诱。

四、C/C++浮點數(shù)載內(nèi)存中的存儲方式

  • 目前所有C/C++編譯器都是采用IEEE754所指定的標(biāo)準(zhǔn)浮點格式涝动,即二進制科學(xué)表示法迈勋。
  • 在二進制科學(xué)表示法中,S = M*2^N 主要由三部分構(gòu)成:符號位 + 階碼(N)+尾數(shù)(M)醋粟。對于 float 型數(shù)據(jù)靡菇,其二進制有32位,其中符號位1位米愿,階位8位厦凤,尾數(shù)23位;對于 double 型數(shù)據(jù)育苟,其二進制為64位较鼓,符號位1位,階位11位违柏,尾數(shù)52位笨腥。
    • 符號位:0表示正,1表示負(fù)勇垛。
    • 階碼:這里階碼采用移碼表示脖母,對于float型數(shù)據(jù)其規(guī)定偏置量為127,階碼有正有負(fù)闲孤,對于8位二進制谆级,其表示范圍為-128127烤礁,double型規(guī)定為1023,其表示范圍為-10241023.比如對于 float 型數(shù)據(jù)肥照,若階碼的真實值為 2脚仔,則加上127后為129,其階碼表示形式為1000010.
    • 尾數(shù):有效數(shù)字位舆绎,即部分二進制位(小數(shù)點后面的二進制位)鲤脏,因為規(guī)定M的整數(shù)部分恒為1,所以這個1就不進行存儲了吕朵。
  • 舉例說明:
    • float型數(shù)據(jù)125.5轉(zhuǎn)換為標(biāo)準(zhǔn)浮點格式
    • 計算125.5的二進制
      125/2 = 62...1
      62 /2 = 31...0
      31 /2 = 15...1
      15 /2 = 7 ...1
      7 /2 = 3 ...1
      3 /2 = 1 ...1
      1
      整數(shù)125二進制表示形式為:1111101
      0.5*2 = 1
      小數(shù)部分0.5的二進制表示形式為:1
      125.5的二進制表示形式為:1111101.1
    • 由于規(guī)定尾數(shù)的證書部分恒為1猎醇,則表示為1.1111011*2^6,階碼為6努溃,6+127 = 133硫嘶,則表示為10000101,而對于尾數(shù)將整數(shù)部分1去掉梧税,為1111011沦疾,在其后面補0使其位數(shù)達到23位,則為11110110000000000000000第队。
    • 二進制表示為0 10000101 11110110000000000000000 在內(nèi)存中的存放方式:
      00000000 低地址
      00000000
      11111011
      01000010 高地址
  • 反過來根據(jù)二進制計算浮點數(shù):
    0 10000101 11110110000000000000000
    • 符號位為0哮塞,則為證書。
    • 階碼為133-127 = 6
    • 尾數(shù)為1111011
    • 大小為1.1111011*2^6凳谦,得到1111101.1忆畅,十進制為125.5.
  • 根據(jù)以上信息我們可以大約估計float的最大取值:
    1.11111111111111111111111 * 2^127 = 3.4 * 10^38
    ----------- 小數(shù)位23個1-----------

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市晾蜘,隨后出現(xiàn)的幾起案子邻眷,更是在濱河造成了極大的恐慌,老刑警劉巖剔交,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肆饶,死亡現(xiàn)場離奇詭異,居然都是意外死亡岖常,警方通過查閱死者的電腦和手機驯镊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來竭鞍,“玉大人板惑,你說我怎么就攤上這事≠丝欤” “怎么了冯乘?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長晒夹。 經(jīng)常有香客問我裆馒,道長姊氓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任喷好,我火速辦了婚禮翔横,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘梗搅。我一直安慰自己禾唁,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布无切。 她就那樣靜靜地躺著荡短,像睡著了一般。 火紅的嫁衣襯著肌膚如雪订雾。 梳的紋絲不亂的頭發(fā)上肢预,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天矛洞,我揣著相機與錄音洼哎,去河邊找鬼。 笑死沼本,一個胖子當(dāng)著我的面吹牛噩峦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播抽兆,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼识补,長吁一口氣:“原來是場噩夢啊……” “哼辫红!你這毒婦竟也來了凭涂?” 一聲冷哼從身側(cè)響起贴妻,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎名惩,沒想到半個月后澎胡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡娩鹉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了弯予。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡锈嫩,死狀恐怖受楼,靈堂內(nèi)的尸體忽然破棺而出困檩,到底是詐尸還是另有隱情,我是刑警寧澤那槽,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布悼沿,位于F島的核電站骚灸,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏甚牲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一非驮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧劫笙,春花似錦、人聲如沸星岗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至靴寂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間百炬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工收壕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留轨蛤,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓祥山,卻偏偏與公主長得像,于是被迫代替她去往敵國和親缝呕。 傳聞我的和親對象是個殘疾皇子斧散,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,781評論 2 354

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