在二進(jìn)制和十進(jìn)制的處理中,有時(shí)候一些小技巧是很有用的。
1、把十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)
(1)在MATLAB中有一個(gè)函數(shù)dec2bin,可以把正整數(shù)轉(zhuǎn)換為2進(jìn)制
(2)對(duì)于負(fù)數(shù)有這樣一個(gè)結(jié)論:N位二進(jìn)制負(fù)數(shù)X的補(bǔ)碼對(duì)應(yīng)的無(wú)符號(hào)數(shù)為2N+X
例:有符號(hào)原碼:1001 十進(jìn)制為:-1
反碼:1110
補(bǔ)碼:1111 無(wú)符號(hào)數(shù)為:15
15 = 24 + (-1);
這樣就可以快速的知道用4位二進(jìn)制表示的-5的補(bǔ)碼的無(wú)符號(hào)數(shù)為16-5=11即1011
2、把負(fù)數(shù)二進(jìn)制補(bǔ)碼轉(zhuǎn)換成十進(jìn)制
(1)把符號(hào)位去掉,再把剩余位取反加一,得到的數(shù)就是負(fù)數(shù)的二進(jìn)制補(bǔ)碼的絕對(duì)值。
(2)直接把二進(jìn)制補(bǔ)碼取反加一;
(3)1011 (-1)*23+0*22+1*21+1*20= -5
問(wèn)題:
=============================================
=============================================
1、用補(bǔ)碼表示的二進(jìn)制,正數(shù)轉(zhuǎn)負(fù)數(shù),負(fù)數(shù)轉(zhuǎn)正數(shù)都是取反加一。
2、兩個(gè)數(shù)相加位寬會(huì)增加,所以要擴(kuò)展符號(hào)位:
regdin_cho1_i[15:0];regdin_cho2_i[15:0];regdin_cho1_o2_i[16:0];always@(posedgeclk)begindin_cho1_o2_i<=?{din_cho1_i?[15],din_cho1_i?}?+?{din_cho2_i[15],din_cho2_i?};?end
3、截位處理,可以截高位,但一定要保留符號(hào)位
always@(posedge clk)begindout_i <= {din_cho1_o2_i [16],din_cho1_o2_i [14:0]};end
4、四舍五入
dout_i <= din_cho1_o2_i [16:1] + din_cho1_o2_i [0];
沒(méi)有四舍五入,可能會(huì)帶來(lái)很多直流信號(hào)。
-
二進(jìn)制
+關(guān)注
關(guān)注
2文章
803瀏覽量
42006
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
二進(jìn)制相對(duì)調(diào)相(二進(jìn)制差分調(diào)相2DPSK)的工作原理

二進(jìn)制

二進(jìn)制編碼和二進(jìn)制數(shù)據(jù)
什么是二進(jìn)制計(jì)數(shù)器,二進(jìn)制計(jì)數(shù)器原理是什么?
二進(jìn)制電平,什么是二進(jìn)制電平
十進(jìn)制數(shù)的二進(jìn)制編碼
LabVIEW的寫入二進(jìn)制文件

二進(jìn)制加法程序【匯編版】
浮點(diǎn)數(shù)轉(zhuǎn)換為二進(jìn)制存儲(chǔ)

二進(jìn)制數(shù)據(jù)及取值范圍的計(jì)算方法

評(píng)論