999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

三種機器碼的聯系與理解

2012-01-01 00:00:00武濤白麗珍
大學教育 2012年5期

[摘 要]為了對數據進行處理,首先要把數據表示出來,計算機中采用機器碼表示數值型數據。首先從原碼出發,分析了計算過程中出現的問題,引出補碼,并深入剖析了補碼的定義。在計算補碼的過程中又引出反碼。清晰地展示了三種機器碼之間的內在關系,對機器碼概念的理解有一定的幫助。

[關鍵詞]原碼 補碼 反碼 模

[中圖分類號] G623.58 [文獻標識碼] A [文章編號] 2095-3437(2012)05-0127-02

一、引言

計算機可以看做是一個數據處理機,這里的數據含義很廣,既包括數值型數據,也包括諸如漢字、圖形、符號、聲音等等非數值型的數據,既然要對這些數據進行處理,那么,首先,必須要把這些數據表示出來。這里介紹數值型數據在計算機當中的表示方法,也稱為機器碼。

二、三種機器碼

說到數值型數據,我們自然會想到,有正數和負數之分,比如:+1001, -1100,既然計算機采用的是二進制,

也就是只有0和1兩種狀態,那么,正號和負號在計算機當中如何來表示呢?很顯然,有兩種解決的方法,第一:用0表示正數,我們把+1001可寫為01001,用1來表示負數,把-1100可寫為11100。第二種方法:用1來表示正號而用0來表示負號。當把符號用0和1表示出來之后,也稱為把符號數字化之后,還有一個問題,如果要進行加、減、乘除等等運算,那么符號位是否參與運算?如果參與運算,會有什么樣的結果?為了能夠妥善的解決這一系列的問題,就產生了把符號位和數值位一起編碼的很多種表示方法,分別為:原碼、補碼、反碼和移碼。

同時,為了能夠區別我們平常書寫的帶有正負號的數和符號數字化的數,我們把前者(即帶有正負號的數)稱為真值,用x表示;后者(符號數字化之后的數)稱為機器碼,用[x]原來表示(或[x]補,[x]反)。為方便描述,下面我們僅以整數為例。

(一)原碼

整數原碼的定義如下:

[x]原=0,x 2n>x≥02n+x 0≥x>-2n (1)

其中,x為真值,n為整數的位數。

原碼是非常簡單的一種編碼方法,它由兩部分構成,符號位和數值位。如果是正數,符號位用0來表示,如果是負數,符號位用1來表示;數值部分均為真值x的絕對值。

定義的理解:觀察公式(1),正數原碼的定義很好理解;負數原碼的定義如何理解呢?不難發現,2n用二進制來表示,其形式為:

在此基礎上,加上n位數的絕對值即得原碼,這與上面的描述(符號位用1來表示,數值部分是真值x的絕對值)相吻合。

原碼雖然簡單直觀,但用原碼做加法時,會出現如下問題:

從表1中可以看出,如果一個正數和一個負數做加法,事實上,我們會比較這2個數絕對值的大小,然后用絕對值大的數減去絕對值小的數,符號選擇絕對值大的數的符號。也就是說,實際上,我們做的是減法運算。那么,能否只做加法運算呢,如果可以把減法運算都化為加法運算,只設計加法器就足夠了。回答是肯定的,這要借助補碼來實現。

(二)補碼

介紹補碼之前,必須先介紹模的概念。

什么是模呢?可以把模理解為一個容器的容量。比如:我們最常見到的時鐘,它的容量是12,其模也就是12。利用模的概念可以幫助我們理解很多實際問題。

比如:時鐘的時針目前指向6點的位置,要使其指向3點,共有2種方法,順時針撥9格(+9),或逆時針撥3格(-3)。這里,+9和-3具有同樣的實際意義。順時針我們做的是加法運算:6+9=15,因為時鐘的模是12,達到模的部分會自動丟失,也就是15-12=3,即3點。逆時針我們做的是減法運算:6-3=3。不難看出,在這個例子當中,-3和+9是完全等價的。負數-3用正數+9可以代替,這樣就可以化減法運算為加法運算了。這里,+9就是-3的補碼(模為12的情況下)。

通過剛才的實例,得出一個結論:如果運算是有模的運算,負數用它的補碼代替,就可以劃減為加。那么如何求得其補碼呢?通過觀察發現:負數加上模即可得到補碼。

在計算機中,如果能夠效仿這種方法,同樣可以化減為加。那么計算機當中的運算是有模的運算嗎?是。因為在計算機中,數據是放在寄存器當中的,而寄存器的位數是固定的。例如:1個4位二進制計數器,當計數器從0變到15之后,再加1,計數器又變為0,也就是說這個計數器的容量是16,其模為2n=16。同理,n+1位的寄存器,模為2n+1。那么,n位的整數,計算其補碼時,模是多少呢?為了在以后的運算過程中,符號位也能參與運算,我們連同符號位考慮在內,也就是說,n位的整數,放在n+1位的寄存器當中,模應該選擇2n+1,如表2所示:

這樣,得出補碼的定義如下:

[x]補=0,x 2n>x≥02n+1+x 0>x>-2n(mod2n+1) (2)

其中,x為真值,n為整數的位數

注:正數的補碼就是其原碼,因為在運算過程中,它不需要被替換。

下面,舉例說明負數補碼的計算。

例:x=-1010

引入補碼的目的是為了化減為加,可是,在計算補碼的過程中,又出現了減法運算,我們改進一下計算補碼的過程:

通過觀察發現:這兩個數符號位相同,數值位相反,這就是“原碼”與“反碼”的關系,由此可見,為了更加便捷地計算補碼,引入了“反碼”。那“反碼”如何定義呢?很明顯,反碼加1得到補碼,補碼減1就是反碼了。

(三)反碼

為了更方便地計算負數的補碼,引入了“反碼”,其定義為:

[x]反=0,x 2n>x≥0(2n+1-1)+x 0≥x>-2n(mod2n+1-1) (3)

其中,x為真值,n為整數的位數

四、總結

詳細介紹了3種機器碼的表示方法:從原碼的定義出發,分析了原碼做加減法存在的問題,引出補碼,并對補碼的定義進行了深入的分析。為了簡化補碼的計算引出反碼。清晰地展示了三種編碼之間的關系。

[ 參 考 文 獻 ]

[1] 唐朔飛.計算機組成原理(第2版)[M].北京:高等教育出版社,2008.

[2] 白中英.計算機組成原理(第四版)[M].北京:科學出版社,2008.

[3] 王誠. 計算機組成原理(第3版)[M].北京:清華大學出版社,2004.

[4] 蔣本珊. 計算機組成原理(第2版)[M].北京:清華大學出版社,2008.

[責任編輯:左 蕓]

主站蜘蛛池模板: 99re热精品视频中文字幕不卡| 在线观看精品自拍视频| 亚洲不卡无码av中文字幕| 91久久大香线蕉| 九色最新网址| 热这里只有精品国产热门精品| 免费人成网站在线观看欧美| 99精品热视频这里只有精品7| 青青青国产免费线在| 国产在线一区二区视频| 9cao视频精品| 亚洲欧州色色免费AV| Jizz国产色系免费| 亚洲一区波多野结衣二区三区| 久久毛片网| 又爽又黄又无遮挡网站| 亚洲欧州色色免费AV| 高清无码手机在线观看| 911亚洲精品| 精品无码一区二区三区在线视频| 日本高清成本人视频一区| 久久亚洲精少妇毛片午夜无码| 夜夜操狠狠操| 欧美无遮挡国产欧美另类| 欧美人与牲动交a欧美精品 | 欧美伦理一区| 亚洲中文字幕在线一区播放| 天堂成人av| 日韩欧美中文在线| 亚洲欧洲日产国码无码av喷潮| 亚洲无码高清视频在线观看| 国产男人天堂| 全免费a级毛片免费看不卡| 国产精品开放后亚洲| 久久精品国产精品一区二区| m男亚洲一区中文字幕| 日本一区二区三区精品国产| 欧美亚洲一二三区 | 免费一极毛片| 一级毛片中文字幕| 国产精品免费p区| 精品久久久久久中文字幕女 | 久久伊人色| 国产18在线| 久久99国产综合精品1| 久久99久久无码毛片一区二区 | 亚洲高清国产拍精品26u| 色综合婷婷| 亚洲男人在线天堂| 日本一区高清| 亚洲成a人片77777在线播放| 国产在线八区| 国产精品女在线观看| 亚洲A∨无码精品午夜在线观看| 88av在线播放| 成人综合久久综合| 色综合成人| 美女扒开下面流白浆在线试听| 女人18一级毛片免费观看| 香蕉伊思人视频| 青青久视频| 黄色网站不卡无码| 国产欧美日韩综合在线第一| 国产精品美女网站| 乱人伦中文视频在线观看免费| 国产精品天干天干在线观看| 国产毛片高清一级国语| 亚洲最大在线观看| 免费一看一级毛片| 亚洲男人的天堂网| 18禁影院亚洲专区| 久久成人免费| 国产第三区| 最新国产你懂的在线网址| 久久久久九九精品影院| 亚洲天堂网视频| 好吊色国产欧美日韩免费观看| 欧美日韩一区二区三区四区在线观看| 国产极品粉嫩小泬免费看| 中文字幕在线看| 国产欧美精品一区二区 | 亚洲欧美极品|