青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-145  評論-173  文章-70  trackbacks-0
本課講述了C/C++關(guān)于int,float等數(shù)據(jù)的底層表示,以及賦值操作所進(jìn)行的處理。本節(jié)內(nèi)容比較簡單,應(yīng)該屬于組成原理的基礎(chǔ)知識,各種碼的表示和底層實(shí)現(xiàn),但是,講述還不錯,特別是為何要這樣形成補(bǔ)碼,比單純記憶強(qiáng)多了,這樣才理解了取反加1的原因,比當(dāng)初上課的時(shí)候要理解深刻多了。

bool    1byte
char    1 byte
short   2 bytes
int        2-4 bytes
float     4bytes
double  8bytes

binary  digit ==> bit
1byte = 8種bit的組合,即共有2的8次方這么多種選擇。
每一位都有權(quán)值,對應(yīng)的,2的0次方依次往上遞增。

short:2 bytes表示,共有2的16次方表示
但是并不是完全表示正數(shù),最開始的符號位,1為負(fù)數(shù),0為正數(shù)(實(shí)際上就是反碼的表示方法)
缺陷: +7 + (-7),最終得到的數(shù)值用反碼來表示的話不是0。
因此,計(jì)算機(jī)處理起來很麻煩,以備淘汰

更優(yōu)的辦法是:補(bǔ)碼表示,取反加1.
為何? 從計(jì)算機(jī)表示的角度出發(fā),+7 加上什么為0呢? 接近0的數(shù)是,全部為1的(-1),然后加上1就可以溢出符號位,從而表示為0.
因此順理成章的,負(fù)數(shù)的表示就是,正數(shù)的基礎(chǔ)上,取反, 然后加1.

一個(gè)例子:
char ch = 'A';
short s = ch;(不需要類型轉(zhuǎn)換)
cout << s結(jié)果是,65.
如何做的呢?計(jì)算機(jī),just copy 
bit pattern copy的形式,不管你的類型如何,直接進(jìn)行拷貝,由于short比char多一個(gè)字符,所以拷貝的前一個(gè)byte直接用全0來復(fù)制。

現(xiàn)在,另外考慮一個(gè)例子,截?cái)唷?br />short s = 67;
char ch = s;
問題是,short比char 要多一個(gè)byte,那么賦值的話,是盡可能的接近嗎?
NO,計(jì)算機(jī)不懂值得大小,只會單純的copy,因此,截?cái)嗪竺娴?byte賦值過去而已。

同樣的,講short賦值給int的時(shí)候也是這樣處理的,高位全部copy為0,地位直接copy。而int賦值給short的時(shí)候,就是單純的截?cái)嗵幚矶选?br />現(xiàn)在的問題來了,如果是負(fù)數(shù)呢?
short s =-1;
int i = s;
這個(gè)時(shí)候,前面的高位字節(jié)直接賦值為0的話,事實(shí)上數(shù)值的大小是變化的。因此計(jì)算機(jī)的做法是,拷貝符號位復(fù)制到高位。這樣正數(shù),就是拷貝的0,所以高位全為0,而負(fù)數(shù)的話高位1,拷貝的話,高位全1.最終保證i的值仍然是-1.

接下來學(xué)習(xí)float的表示。
我們可以自定義一種解釋float的方法。權(quán)重依次降低,比如從2的31次方到2的0次方,變?yōu)?的29次方到2的-1次方,最開始的那一位表示為+/-符號位,這樣就可以表示一定的浮點(diǎn)數(shù),同樣的,再次降低權(quán)重就可以表示更低的數(shù)據(jù)了。
但是,實(shí)際上計(jì)算機(jī)的表示不是這樣的

采用了一種很奇怪的表示方法,即符號位(1位) + exp位(8位) + 浮點(diǎn)部分(23位)。
符號位表示政府,exp為8位的正數(shù)表示,浮點(diǎn)數(shù)表示0.XXXXX(0到1之間的數(shù)據(jù))
最終浮點(diǎn)的值是,2的(exp - 127)次方 乘以 1.XXXX表示。


最后兩個(gè)例子表示值拷貝的過程。
int i = 5;
float f = i;
輸出的結(jié)果是f仍然是5,why? 因?yàn)椴皇莃it copy,這里是直接進(jìn)行賦值,而類型不同,因此會先計(jì)算出來值得帶下,然后轉(zhuǎn)換一種類型表示出來。
也就是把5的int類型表示為float的類型,bit pattern是完全發(fā)生了變化的。

另外一個(gè)例子。
int i = 37;
float f = *(float *) &i;
這種是把i的地址取出來,認(rèn)為它表示的是float,因?yàn)椋╢loat *)的作用,然后解釋為float類型輸出它的值,注意的是,bit pattern并不會發(fā)生變化。

float f = 7.0;
short s = *(short *) &f;
由于是不同的類型,short只會截取自己那么大size的byte來進(jìn)行翻譯,所以float類型盡管4bytes,但是認(rèn)為是short類型的話,仍然截取的是2bytes。
從而輸出short的值應(yīng)該是一個(gè)比較小的值。注意,bit pattern并不會改變,只是取出來地址而已。

總結(jié)的關(guān)鍵是:just copy bit pattern!
posted on 2012-05-13 18:03 deercoder 閱讀(2809) 評論(0)  編輯 收藏 引用 所屬分類: 大學(xué)公開課
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            小处雏高清一区二区三区| 亚洲欧美日韩国产中文| 欧美成人自拍| 狼人社综合社区| 免费影视亚洲| 欧美日本三区| 国产精品高精视频免费| 国产精品美女在线| 国产午夜精品一区二区三区视频 | 激情av一区二区| 国产视频一区欧美| 亚洲国产高清一区| 亚洲无线视频| 久久视频一区| 亚洲精品久久久一区二区三区| 亚洲精品一区二区三区在线观看| 亚洲永久视频| 女女同性精品视频| 国产精品久久久对白| 激情久久五月天| 亚洲一区成人| 欧美国产日韩精品| 亚洲一区二区三区四区视频| 久久美女性网| 国产精品视频1区| 亚洲欧洲中文日韩久久av乱码| 亚洲免费伊人电影在线观看av| 蜜臀av性久久久久蜜臀aⅴ四虎| 9久re热视频在线精品| 巨乳诱惑日韩免费av| 国产精品日韩在线观看| 亚洲精品女av网站| 猛干欧美女孩| 欧美一区观看| 国产精品一区二区三区四区五区| 久久久人成影片一区二区三区 | 午夜精品美女久久久久av福利| 鲁大师成人一区二区三区| 一区二区三区视频观看| 欧美成人高清| 激情久久一区| 久久精品综合| 亚洲欧美日韩综合| 欧美日韩视频在线一区二区 | 一区二区三区日韩| 免费精品视频| 伊人春色精品| 久久中文精品| 久久精品亚洲精品| 国内精品福利| 久久精品道一区二区三区| 亚洲午夜激情在线| 国产精品激情av在线播放| 9色精品在线| 亚洲激情一区二区| 欧美大片国产精品| 亚洲精品1234| 亚洲欧洲综合另类| 欧美激情片在线观看| 亚洲人精品午夜在线观看| 亚洲高清在线观看一区| 免费观看久久久4p| 亚洲精品小视频| 91久久综合亚洲鲁鲁五月天| 欧美国产欧美综合| 99国产精品久久久久老师| 亚洲精品九九| 欧美性大战久久久久| 亚洲欧美成人一区二区在线电影| 日韩一级片网址| 国产精品剧情在线亚洲| 欧美资源在线| 久久五月天婷婷| 亚洲毛片在线观看| 一区二区三区日韩精品| 国产日韩欧美一区二区| 久久综合九色综合欧美狠狠| 免费亚洲一区二区| 亚洲天堂av在线免费观看| 亚洲女人天堂成人av在线| 黄色亚洲网站| 亚洲黄色精品| 国产精品亚洲аv天堂网| 久久久综合精品| 欧美国产日韩免费| 亚洲欧美日韩国产另类专区| 久久精品亚洲一区二区三区浴池| 亚洲人成网站精品片在线观看 | 国产精品v欧美精品v日韩| 亚洲一区bb| 欧美一区二区三区四区高清 | 韩国女主播一区| 亚洲第一级黄色片| 国产精品丝袜白浆摸在线| 久久在线观看视频| 欧美日韩三区| 久久免费99精品久久久久久| 欧美福利一区| 久久精品国产免费| 欧美精品九九| 另类图片国产| 国产精品一区二区久久精品| 欧美激情第一页xxx| 国产视频久久网| 99国产精品国产精品毛片| 有坂深雪在线一区| 亚洲欧美美女| 亚洲伊人久久综合| 欧美成年人网| 麻豆精品网站| 国产亚洲aⅴaaaaaa毛片| 99国产精品久久| 亚洲精品极品| 久久久久久久久久久久久9999| 亚洲一区二区三区涩| 欧美大尺度在线| 美日韩在线观看| 国产一区二区看久久| 一区二区福利| 99riav国产精品| 欧美成人性生活| 免费在线欧美黄色| 国内精品美女在线观看| 亚洲男人第一网站| 亚洲男女毛片无遮挡| 欧美国产日韩一区二区| 欧美大成色www永久网站婷| 国内精品久久久久伊人av| 欧美一区二粉嫩精品国产一线天| 亚洲欧美制服另类日韩| 国产精品人人爽人人做我的可爱 | 99国产精品99久久久久久| 久久亚洲国产精品一区二区| 久久久欧美精品| 国产一区视频网站| 欧美一区二区三区四区在线观看| 欧美一区1区三区3区公司| 国产精品青草久久| 亚洲一区二区综合| 性色一区二区| 国产日韩欧美| 久久久久.com| 亚洲动漫精品| 99re热这里只有精品视频| 欧美日韩精品免费观看视频完整| 亚洲精品乱码久久久久久蜜桃91| 亚洲精选在线观看| 欧美日韩视频一区二区| 日韩午夜在线播放| 国产综合欧美在线看| 欧美一区二区三区的| 国产情侣一区| 久久精品五月| 亚洲激情不卡| 亚洲欧美视频在线观看视频| 国产网站欧美日韩免费精品在线观看 | 国产精品视频一区二区三区| 亚洲曰本av电影| 久久精品91| 亚洲福利av| 欧美日韩精品综合在线| 亚洲线精品一区二区三区八戒| 久久动漫亚洲| 亚洲经典在线看| 国产精品激情| 久久一区欧美| 一本大道久久a久久精二百| 欧美一区二区三区四区在线| 国内精品美女av在线播放| 欧美高清视频| 亚洲欧美国产精品专区久久| 免费不卡中文字幕视频| 亚洲精品久久久久久一区二区| 国产精品国产三级国产普通话三级| 欧美一区二区三区在线观看| 亚洲国产成人精品女人久久久 | 中文精品视频一区二区在线观看| 久久久久9999亚洲精品| 亚洲啪啪91| 国产欧美日韩一区| 欧美日本高清一区| 久久日韩精品| 亚洲香蕉成视频在线观看| 亚洲电影第三页| 久久精品国产亚洲一区二区| 99国产精品| 亚洲高清不卡av| 国产视频亚洲精品| 国产精品福利网| 欧美福利电影网| 久久国产精品99精品国产| 一本色道久久综合| 欧美国产先锋| 猫咪成人在线观看| 久久久精品999| 欧美一级午夜免费电影| 亚洲午夜久久久久久久久电影院 | 久久午夜精品一区二区| 亚洲一区免费视频| 日韩视频―中文字幕|