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

隨筆-145  評(píng)論-173  文章-70  trackbacks-0
本課講述了C/C++關(guān)于int,float等數(shù)據(jù)的底層表示,以及賦值操作所進(jìn)行的處理。本節(jié)內(nèi)容比較簡(jiǎn)單,應(yīng)該屬于組成原理的基礎(chǔ)知識(shí),各種碼的表示和底層實(shí)現(xiàn),但是,講述還不錯(cuò),特別是為何要這樣形成補(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)值,對(duì)應(yīng)的,2的0次方依次往上遞增。

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

更優(yōu)的辦法是:補(bǔ)碼表示,取反加1.
為何? 從計(jì)算機(jī)表示的角度出發(fā),+7 加上什么為0呢? 接近0的數(shù)是,全部為1的(-1),然后加上1就可以溢出符號(hào)位,從而表示為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來(lái)復(fù)制。

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

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

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

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


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

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

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

總結(jié)的關(guān)鍵是:just copy bit pattern!
posted on 2012-05-13 18:03 deercoder 閱讀(2817) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 大學(xué)公開(kāi)課
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美日韩大片一区二区三区| 国产精品久久久久久久久久久久久久| 久久九九热免费视频| 亚洲一区二区三区中文字幕在线| 亚洲精品黄色| 亚洲免费观看在线观看| 99国内精品久久| 一区二区免费在线观看| 亚洲性人人天天夜夜摸| 午夜精品久久久久久99热| 亚洲欧美精品suv| 欧美一区精品| 蜜臀av性久久久久蜜臀aⅴ四虎| 女女同性精品视频| 日韩亚洲欧美一区| 性色av一区二区三区| 久久久夜夜夜| 欧美特黄一级| 在线观看成人一级片| 亚洲精品乱码久久久久久按摩观 | 99国内精品久久| 亚洲四色影视在线观看| 欧美一级在线亚洲天堂| 欧美成人乱码一区二区三区| 欧美日韩成人综合在线一区二区| 午夜国产精品视频免费体验区| 午夜欧美理论片| 久久av二区| 欧美午夜免费影院| 麻豆九一精品爱看视频在线观看免费| 性做久久久久久久久| 久久精品日韩| 欧美精品在线免费| 国产亚洲亚洲| 99在线精品视频| 久久久高清一区二区三区| 亚洲国产色一区| 亚洲欧洲精品一区二区| 欧美sm视频| 亚洲欧美日韩系列| 欧美69视频| 伊人成综合网伊人222| 亚洲午夜激情| 国产午夜精品一区二区三区欧美| 亚洲国产精品一区二区www在线| 亚洲女人天堂av| 亚洲区中文字幕| 久久躁狠狠躁夜夜爽| 国产亚洲精品aa| 亚洲视频中文字幕| 91久久综合| 免费在线国产精品| 国产真实精品久久二三区| 亚洲香蕉视频| 亚洲精品午夜精品| 欧美高清视频| 亚洲精选视频在线| 欧美高清在线| 欧美成人免费网站| 亚洲高清在线精品| 免费欧美视频| 久久视频在线看| 影音先锋另类| 麻豆免费精品视频| 性欧美videos另类喷潮| 国产精品中文字幕欧美| 亚洲欧美成人一区二区在线电影 | 久久久一区二区| 狠色狠色综合久久| 久久中文字幕导航| 久久久久国产精品一区| 国产综合色产在线精品| 久久久久一区二区| 久久九九全国免费精品观看| 国产一区二区毛片| 国产精自产拍久久久久久蜜| 午夜电影亚洲| 亚洲激情一区二区三区| 欧美激情视频在线播放| aa亚洲婷婷| 一区二区欧美视频| 国产精品一区二区三区免费观看| 欧美一区二区黄色| 久久精品九九| 亚洲精品美女在线观看播放| 最新日韩精品| 国产精品影视天天线| 久久午夜激情| 欧美成人亚洲成人日韩成人| 一本大道久久精品懂色aⅴ| 亚洲少妇诱惑| 国产日韩欧美在线一区| 久久亚洲私人国产精品va| 欧美一区二区三区久久精品茉莉花| 亚洲免费一区二区| 一区二区亚洲| 亚洲六月丁香色婷婷综合久久| 欧美性做爰毛片| 久久久在线视频| 欧美精品亚洲精品| 性做久久久久久久免费看| 欧美在线免费播放| 一区二区电影免费观看| 性视频1819p久久| 在线亚洲激情| 久久综合给合| 午夜精品久久久久久99热| 久久亚洲精品一区二区| 亚洲一区二区精品在线| 久久午夜激情| 久久aⅴ国产欧美74aaa| 欧美日韩免费| 欧美国内亚洲| 国内成人自拍视频| 99v久久综合狠狠综合久久| 国产一区二区三区久久精品| 亚洲日本视频| 亚洲国产精品综合| 亚洲伊人网站| 亚洲第一中文字幕在线观看| 国产精品99久久久久久久女警| 亚洲国产精品成人综合| 性色一区二区| 亚洲一区成人| 亚洲国产免费看| 在线播放精品| 99日韩精品| 亚洲美女视频在线观看| 久久精品国产999大香线蕉| 亚洲欧美日韩精品综合在线观看| 久久综合伊人77777蜜臀| 欧美影院成年免费版| 国产精品theporn| 日韩视频久久| 亚洲国产精品女人久久久| 浪潮色综合久久天堂| 久久精品欧美| 久久大香伊蕉在人线观看热2| 欧美三级电影大全| 国内精品99| 一区二区日韩伦理片| 激情偷拍久久| 免费不卡视频| 午夜精品久久久久久久久久久| 国产精品亚洲产品| 欧美黑人一区二区三区| 羞羞答答国产精品www一本| 麻豆精品一区二区av白丝在线| 夜夜精品视频| 欧美精品在线观看一区二区| 久久精品国产亚洲精品| 国产女主播在线一区二区| 亚洲在线观看免费视频| 一本久道久久综合狠狠爱| 欧美日韩 国产精品| 日韩视频精品在线| 日韩网站在线观看| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美激情1区2区| 亚洲激情成人| 国产精品va在线播放| 亚洲天堂成人在线观看| 亚洲女人小视频在线观看| 国产精品久久久久影院色老大| 亚洲图片欧美日产| 久久精品91| 亚洲激情网站| 欧美日韩国产另类不卡| 亚洲一区二区三区四区在线观看| 欧美一区二区视频观看视频| 国产一二精品视频| 麻豆精品在线观看| 亚洲精品视频在线观看网站| 亚洲欧美国产高清| 国内一区二区三区在线视频| 久久影音先锋| 夜夜嗨av一区二区三区网站四季av | 欧美大秀在线观看| 亚洲激情校园春色| 欧美日韩一区二区免费在线观看| 日韩视频中午一区| 久久一本综合频道| 99视频一区二区| 国产亚洲第一区| 老司机免费视频久久| 日韩一区二区免费高清| 久久米奇亚洲| 99精品视频免费观看| 国产伦精品一区二区三| 欧美二区在线播放| 国产亚洲欧美日韩日本| 日韩视频一区二区三区在线播放免费观看| 国产精品xxxxx| 久久只有精品| 欧美有码视频| 99视频精品| 在线精品国产欧美| 国产精品网红福利| 欧美视频导航| 免费一级欧美片在线观看|