最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

說說“補(bǔ)碼”

2022-11-03 09:51 作者:papadogbl  | 我要投稿

一般教材在介紹有符號數(shù)在計算機(jī)中的表示方式時,都會從原碼、反碼開始講,最后得出計算機(jī)里有符號數(shù)采用補(bǔ)碼表示,而求一個負(fù)數(shù)補(bǔ)碼的常用方法就是原碼取反,得反碼再加1。所以這幾個概念之間有一定的聯(lián)系。

(說明: 非負(fù)數(shù)的原碼、反碼、補(bǔ)碼相同)

這里不贅述他們的數(shù)學(xué)含義,只說采用補(bǔ)碼表示有什么好處。

一、解決+0與-0表示的二義性

在數(shù)學(xué)上+0與-0表示同一個數(shù)值,但是如果用原碼或反碼,在計算機(jī)里+/-0對應(yīng)的都是兩個不同的01串,以8位為例:

原碼+0:0000 0000? ? ?原碼-0: 1000 0000

反碼+0 :? 0000? 0000? ? ?反碼-0: 1111?1111

計算機(jī)里是不允許(或者說盡量避免)二義性存在的,所以原碼表示和反碼表示就被淘汰了,那怎么表示有符號數(shù)呢?

聰明的前人想到了補(bǔ)碼表示法(它的數(shù)學(xué)含義及定義這里不贅述了),這里只說求補(bǔ)碼的方法:非負(fù)數(shù)的補(bǔ)碼=其原碼=其反碼,負(fù)數(shù)的補(bǔ)碼按位取反加1,仍以8位為例:


從表中看到,補(bǔ)碼表示做到了一一對應(yīng),n位二進(jìn)數(shù)數(shù)的有符號數(shù)表示范圍-2^(n-1) ~~+2^(n-1)-1,+/-0的補(bǔ)碼表示是唯一的:全0。

這里要強(qiáng)調(diào)幾點:有符號數(shù)的最大值為+2^(n-1)-1,形式為0111……11;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?有符號數(shù)的最小值是-2^(n-1),形式為1000……00;

? ? ? ? ? ? ? ? ? ? ? ? ? ? -1在任意字長的系統(tǒng)里都輸全1。

二、采用補(bǔ)碼表示,可以簡化計算機(jī)中運(yùn)算器設(shè)計

采用補(bǔ)碼表示后,計算機(jī)中底層硬件進(jìn)行的是二進(jìn)制加法運(yùn)算,根本不區(qū)別是有符號數(shù)還是無符號數(shù),既可以被解釋成有符號數(shù)(下圖右邊),也可以被解釋成無符號數(shù)(下圖左邊),為了方便,以4位為例:?

采用補(bǔ)碼表示,計算機(jī)不需要實現(xiàn)單獨(dú)的減法器,和數(shù)學(xué)上減一個數(shù)等于加上該數(shù)的負(fù)數(shù)相一致。

三、方便數(shù)據(jù)類型擴(kuò)展

學(xué)計算機(jī)的都知道數(shù)據(jù)類型,也就是數(shù)據(jù)的字節(jié)寬度,大多數(shù)語言是允許有默認(rèn)類型轉(zhuǎn)換的,即不同數(shù)據(jù)類型之間的數(shù)據(jù)可以進(jìn)行轉(zhuǎn)換(一般小字節(jié)寬度可以擴(kuò)展為大字節(jié)寬度),然后運(yùn)算、存儲等,采用補(bǔ)碼表示就很容易進(jìn)行數(shù)據(jù)寬度擴(kuò)展,補(bǔ)碼是針對有符號數(shù)的,在進(jìn)行類型轉(zhuǎn)換擴(kuò)展時,只要進(jìn)行符號位擴(kuò)展,數(shù)值本身不變,例如全1在任何機(jī)器字長下表示的有符號的都是-1,再舉個例子,一個字節(jié)的-7表示為:1111 1001,把該數(shù)據(jù)擴(kuò)展為兩個字節(jié),只要符號位1擴(kuò)展為:1111 1111 1111 1001即可,補(bǔ)碼表示對給數(shù)據(jù)類型轉(zhuǎn)換帶來了很大便利。


說說“補(bǔ)碼”的評論 (共 條)

分享到微博請遵守國家法律
通城县| 合肥市| 冀州市| 潢川县| 武穴市| 遂溪县| 永新县| 永城市| 新竹县| 赤城县| 贞丰县| 衡山县| 集贤县| 武清区| 兴国县| 买车| 应城市| 全南县| 开封县| 抚远县| 台南县| 北海市| 法库县| 桂东县| 大丰市| 江安县| 定襄县| 福清市| 陕西省| 买车| 郑州市| 深泽县| 邛崃市| 新郑市| 竹溪县| 绍兴市| 古交市| 遂川县| 昭平县| 梨树县| 株洲市|