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

歡迎光臨散文網(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的評論 (共 條)

分享到微博請遵守國家法律
大港区| 桦南县| 金塔县| 宣威市| 甘孜县| 鹤峰县| 怀宁县| 和田县| 万宁市| 滨海县| 武功县| 平舆县| 汽车| 神木县| 菏泽市| 枣强县| 探索| 张家川| 汨罗市| 隆尧县| 蒲城县| 缙云县| 兴安县| 湖南省| 家居| 昭平县| 出国| 天峨县| 白水县| 华宁县| 航空| 比如县| 广平县| 盐亭县| 波密县| 二手房| 湄潭县| 元谋县| 景泰县| 西藏| 黄平县|