五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

算術(shù)運算符補碼由來

2022-12-13 08:23 作者:明德?lián)P易老師  | 我要投稿

需要看對應(yīng)的視頻,請點擊視頻編號:001100000060

1、在FPGA甚至計算機系統(tǒng)中,所有數(shù)據(jù)的保存方式都是補碼形式的,

2、本視頻主要講解正數(shù)和負(fù)數(shù)的補碼計算以及在數(shù)據(jù)電路中的處理方式。
3、這是ALTERA和VIVADO視頻



補碼的由來

FPGA實現(xiàn)各種算法的時候,首要的就是保證運算結(jié)果的正確性,否則一切毫無意義。

在分析加加法運算符和減法運算符的時候可以發(fā)現(xiàn)保存結(jié)果的信號位寬是否合理對正確性與否有很大的影響。

例如下面的加法運算:

表1.3- 5加法運算結(jié)果


從上表可以發(fā)現(xiàn),如果不保留進(jìn)位,當(dāng)加法出現(xiàn)進(jìn)位的時候計算的結(jié)果是不正確的,

只有保留了進(jìn)位計算的結(jié)果才是正確的。由此可以得出一個結(jié)論:使用加法的時候,為了保證結(jié)果的正確性,

必須保存進(jìn)位,也就是結(jié)果要擴展位寬。

例如兩個8位的數(shù)相加,則結(jié)果要擴展一位,將位寬設(shè)定為9位。

接著再來分析一下減法運算,如下表所示例子:


表1.3- 6減法運算結(jié)果


注意表中和2’b00-2’b01,結(jié)果是2’b11,對應(yīng)的十進(jìn)制值為3,但期望的結(jié)果是“-1”。

同樣的道理,2’b01 - 2’b11,結(jié)果是2’b10,對應(yīng)的十進(jìn)制值為2,而期望的結(jié)果是“-2”,

所以上面的結(jié)果是不正確的。

當(dāng)期望結(jié)果中有正負(fù)之分時,可以通過增加一個符號位來區(qū)別結(jié)果的正負(fù)。業(yè)內(nèi)約定的表示方法為,

最高位為0時表示正數(shù),最高位值為1表示負(fù)數(shù)。符號位之后的數(shù)值用低2位表示,結(jié)果如下表:

表1.3- 7增加符號位的減法運算結(jié)果


從上表中可以看出增加符號位后還是會存在部分運算結(jié)果與預(yù)期不符合的問題。

例如表中的2’b00-2’b01,結(jié)果是3’b111,對應(yīng)的十進(jìn)制值為-3,但期望的結(jié)果是“-1”。

所以上面的結(jié)果仍然是不正確的。


現(xiàn)在,重新對二進(jìn)制數(shù)“000~111”進(jìn)行如下轉(zhuǎn)換:

a.? ?? ? 正數(shù):保持不變

b.? ?? ?負(fù)數(shù):符號位保持不變,數(shù)值取反加1。

也就是說,如果是正數(shù)“+1”,之前是用“001”表示,現(xiàn)在仍然是用“001”表示。

如果是負(fù)數(shù)“-1”,之前是用“101”表示,現(xiàn)在則是用“111”表示。負(fù)數(shù)“-3”,

之前是用“111”表示,現(xiàn)在則是用“101”表示。這種表示方式就是補碼表示方式。

改為用補碼來表示后,再來分析下結(jié)果:


表1.3- 8補碼表示減法運算結(jié)果


可以看到上表的結(jié)果全部都是正確的,與預(yù)期全部一致。這一過程雖然完全沒有對代碼進(jìn)行任何改變,

但通過更改數(shù)據(jù)的定義就實現(xiàn)了正確的結(jié)果。


在之前的討論中,加數(shù)、被加數(shù)、減數(shù)和被減數(shù)的運算過程都沒有使用有符號數(shù)。

現(xiàn)在使用有符號數(shù)的補碼重新對其進(jìn)行表示。

假設(shè)加數(shù)、被加數(shù)、減數(shù)和被減數(shù)都是2位(范圍為-2~1),考慮到進(jìn)位和借位原因,

結(jié)果用3位來表示(范圍為-4~3)。因為結(jié)果位寬變?yōu)?位,所以減數(shù)和被減數(shù)都擴展成用3位表示,

列出下表:


表1.3- 9補碼表示運算結(jié)果


總結(jié)運算步驟如下:

1.?根據(jù)“人的常識”,預(yù)計結(jié)果的最大最小值,從而確定結(jié)果的信號位寬。

2.?將加數(shù)、減數(shù)等數(shù)據(jù),位寬擴展成結(jié)果位寬一致。

3.?按二進(jìn)制加減法進(jìn)行計算。

通過以上方式,得到的就是補碼的結(jié)果。事實上,在FPGA甚至計算機系統(tǒng)中,

所有數(shù)據(jù)的保存的方式都是補碼的形式。如果讀者想要了解更多關(guān)于補碼的內(nèi)容可以參閱相關(guān)資料。

相關(guān)視頻:https://www.bilibili.com/video/BV1yf4y1R7gH?p=14


相關(guān)視頻:https://www.bilibili.com/video/BV1yf4y1R7gH?p=14



算術(shù)運算符補碼由來的評論 (共 條)

分享到微博請遵守國家法律
云阳县| 甘洛县| 冷水江市| 百色市| 东乡县| 宁武县| 舟山市| 尼勒克县| 伊吾县| 平果县| 长乐市| 泸溪县| 邹平县| 宁河县| 荆门市| 锡林郭勒盟| 衡阳市| 天津市| 通海县| 鄂托克前旗| 毕节市| 尤溪县| 淅川县| 怀来县| 海阳市| 临朐县| 神池县| 玉山县| 湘潭县| 开鲁县| 浠水县| 呼图壁县| 成都市| 额尔古纳市| 石狮市| 托里县| 宜丰县| 墨玉县| 香港| 太原市| 枝江市|