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

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

如何在mc里打造一個計算器[6] -- BIN轉(zhuǎn)BCD

2020-04-03 18:37 作者:nyasyamorina  | 我要投稿

原論文:

因為解釋起來有丶小復(fù)雜, 所以先來說怎么實現(xiàn):

假設(shè)現(xiàn)在是16位BIN, 最大轉(zhuǎn)換為Nbits的BCD碼, 那么需要一個(16+N)bits的寄存器, 低16位記錄著BIN

重復(fù)以下步驟16次:

  1. 對寄存器高N位, 每4位執(zhí)行一次操作A (左邊不足4位用0補充)

  2. 寄存器數(shù)據(jù)左移一位

操作A: 如果選中的4bit數(shù)據(jù)大于4, 則+3, 否則+0? ?(因為BDC的特性, +3后不會大于16, 所以不考慮進位)

如下圖所示:? (從上往下)

對于操作A, 執(zhí)行+3最小數(shù)字是5, 執(zhí)行后得到8(1000), 而對于(1XXX)明顯大于4, 需要執(zhí)行+3, 所以提出了一種改進操作A的方法:? ?對輸入進行+3, 如果結(jié)果第4位=1, 則輸出+3結(jié)果, 否則輸出原輸入,? 來自論文的原圖:

實物:

同理, 可以做成減少體積的版本

原理:

BCD轉(zhuǎn)BIN中, 目標數(shù)字為n = ((((...)x10+A3)x10+A2)x10+A1)x10+A0? ? ? ?(1)

并且BCD里0~9跟BIN里的0~9一致,? 所以BCD轉(zhuǎn)BIN實際上是在BIN里計算上1式

同理, 在BIN轉(zhuǎn)BCD中, 目標數(shù)字n = ((((...)x2+B3)x2+B2)x2+B1)x2+B0????????? (2)

并且BIN里的01跟BCD里的01一致, 所以我們可以找到一種在BCD里計算2式的方法


跟BCD->BIN不同的是, BIN->BCD重點不是加法, 而是乘法, 因為x2后必定為偶數(shù), 而+Bn(Bn是BIN里的一位)只需要直接把Bn插入第一位BCD碼的第一位就可以了


在使用4個二進制位的進制系統(tǒng)里(也就是說一個數(shù)字需要4bits表示的N進制), 16進制(HEX)是很特殊的一個, 因為HEX的*2與BIN一樣直接<<1就可以了, 那么我們可以在HEX上面尋找BCD如何快速*2

一個數(shù)字*2可以看作這個數(shù)字加上它本身,? 并且從構(gòu)造加法器時, 可以得知"一位"的加法應(yīng)該有A輸入, B輸入, 進位c輸入, 和S輸出, 進位C輸出, 其他進制也一樣, 那么我們來探求加法的本質(zhì)(并不是復(fù)讀機)

在N進制下, 任何數(shù)字可以寫序列:? ?[...., A3, A2, A1, A0], 那么加法就相當于兩個序列按照一些方法組合在一起, 加法的規(guī)則不難看出是這樣的:

平常做公式的網(wǎng)站炸了, 迫不得已只能自己做了

為了方便表達, 我們定義一個"進位"函數(shù)

我們需要找到一種方法讓BCD的加法在HEX上實行,? ?實際上進行十進制加法時, 有進位時加上6, 并且讓進位在十六進制上進行, 就得到了在HEX上計算BCD的加法

10前面忘記是分號了 (趴

在此基礎(chǔ)上推斷BCD的*2:

上面已經(jīng)知道HEX的*2跟BIN一樣是<<1, 那么在計算BIN轉(zhuǎn)BCD的步驟就變成了:

  1. 對每一個BCD碼X計算? ?X_16 + 3*carry(X,0;5)

  2. 按位對全部BCD<<1, 下一位BIN移動到最右邊一位

論文內(nèi)的

這個系列暫時不會再繼續(xù)更新了, 因為簡單計算器內(nèi)全部部件都已經(jīng)說完了, 顯示部分稍微動動腦就做得出來啦, 而電路的化簡也沒想象中的復(fù)雜, 就是把重復(fù)出現(xiàn)的部件輸出接一個寄存器, 寄存器輸出指向部件輸入, 使用一個時鐘控制部件的運作就ok了

如何在mc里打造一個計算器[6] -- BIN轉(zhuǎn)BCD的評論 (共 條)

分享到微博請遵守國家法律
浦县| 衡阳县| 辉县市| 鹤岗市| 穆棱市| 嵩明县| 乌恰县| 五家渠市| 青田县| 梓潼县| 祁阳县| 兴山县| 汶上县| 绥中县| 信宜市| 九江县| 廉江市| 泰州市| 休宁县| 威海市| 鸡西市| 大安市| 咸阳市| 沈丘县| 绥滨县| 安阳县| 河北省| 巴东县| 晋城| 双牌县| 奈曼旗| 贵阳市| 休宁县| 东源县| 兴隆县| 阳新县| 萨迦县| 玉溪市| 和顺县| 湘潭市| 万载县|