用VHDL實現十進位制到二進位制的轉換

時間 2021-08-14 23:04:29

1樓:匿名使用者

library ieee; --此程式是個人所編,還未經驗證

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned;

use ieee.std_logic_arith;

entity ss is

port( st:in std_logic;

shuru:in integer range 0 to 255;

shuchu:out std_logic_vector(7 downto 0) );

end ss;

architecture b of ss is

begin

process(st)

variable c:integer range 0 to 255;

variable d:integer range 0 to 255;

variable a:integer range 0 to 7;

begin

if st'event and st='1' then --st為轉換啟動訊號,上升沿啟動

shuchu<="00000000"; --對輸出初始化

c:=shuru; --儲存輸入

d:=shuru; --儲存輸入

a:=0;

while c/= 0 loop --c不等於零則迴圈,c等於零則退出迴圈

c:=c/2; --迴圈除2,類似於十進位制數轉化為二進位制數的方法

d:=d-(c*2); --算完後,d為計算出的每位二進位制數

shuchu(a)<=d; --把每為二進位制數安位給輸出

d:=c; --作為下次除2的被除數

a:=a+1;

end loop;

end if;

st<='0'; --控制訊號清零,等待下一次轉換的到來

end process;

end b;

2樓:我是小飛於

用譯碼器轉換阿

lz的二進位制是要8421碼還是什麼的

3樓:匿名使用者

樓上的程式是錯誤的,

shuchu(a)<=d;資料型別都不一樣,你怎麼賦值呢....

二進位制轉十進位制演算法,十進位制轉二進位制演算法

我們在網路上經常遇到要ip轉為二進位制來劃分或彙總子網,所以要找一種最快速的十進位制轉二進位制的方法 這種演算法用除16來算,基於我們對16以內的二進位制很熟悉 朋友你也許也奇怪,除16不是算16進製制轉換的嗎?呵呵,下面看來我說.我們用d表示10進製,用b表示2進製 公式是a d 16 b 餘c....

二進位制和十進位制的轉化,二進位制轉化為十進位制的方法?

我不能圓滿的你。給點我的想法吧!我覺得,如果按正確的轉化方法的話,那麼各類進製中,數的大小就都是統一的了 這句是你的原話。這句是沒錯的,不管按什麼方法轉化,他們的大小是不會變化的。但是,數的大小比較不是看他們的形式,不能因為one,和1不同就說他們是不一樣的。同樣也不能說10和10一樣就說他們是一樣...

二進位制小數如何轉化為十進位制,如,二進位制小數如何轉化為十進位制,如

毓人 0.101 2 1 2 0 2 1 2 10 0.5 0 2 1 2 10 0.5 2 1 2 10 0.25 1 2 10 1.25 2 10 0.625 10 生活如歌 0.101b 2 1 2 3 0.625 二m進製數與z十s進製數如何轉換 3 二v進製數 十l進製數 對於j較小j的二...