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

歡迎光臨散文網(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ù)運算符補碼由來的評論 (共 條)

分享到微博請遵守國家法律
疏附县| 玉环县| 任丘市| 独山县| 拜泉县| 滦南县| 卢湾区| 格尔木市| 阳春市| 永德县| 越西县| 曲水县| 绿春县| 双流县| 灌阳县| 连平县| 蒙自县| 屯门区| 偃师市| 平潭县| 宜川县| 荥经县| 威远县| 黄石市| 全椒县| 嘉禾县| 凤台县| 南川市| 莱西市| 兴文县| 瑞安市| 东安县| 长岛县| 石棉县| 嘉鱼县| 呼伦贝尔市| 尉氏县| 陈巴尔虎旗| 城固县| 始兴县| 朝阳区|