我的世界BIN轉BCD的演算方法與過程介紹,本文把Units、Tens、Hundreds和他們所處的那一列統稱為1組,另外Binary和它所在的那一列不算一組,下面我們一起來看看詳細制作過程。
BIN轉BCD的操作方式
1組數據對應一個顯示屏(2進制輸入的)
2進制數有多少位就把它往左移多少位
3左邊的英文是操作,shift是移位,add是加
4 Binary那一列在最后可以省略1.把binary數向左移一位
2.如果Units,Tens,Hundreds這三組的數據中有大于或等于5的,就把那組數據加3(1次移位只加1次)
3.如果移位未完成,那就返回步驟1,否則終止操作并輸出數據
我們以123為例來演算一遍(我會把組里的數字高亮)
123的二進制數是0111 1011
我們先將其左移1位,得到1111 0110
目前還在binary那列里,所以繼續移位
得到00011110 1100
組里的數字小于5,繼續移
得到00111101 1000
繼續移位
得到01111011 0000
可以看到Units組里的數字已經大于5了,所以把當前該組里的數據+3處理
得到10101011 0000
繼續移位
得到000101010110 0000
Units組里的數字等于5,所以再加3
得到000110000110 0000
繼續移位
得到001100001100 0000
繼續移位
得到011000011000 0000
這次是Tens里的數據大于5了,所以+3處理
得到100100011000 0000
因為我把2進制數前面補了一個0,所以變成了8位的數據,現在還差最后一次的移位
得到0001001000110000 0000
終止操作,輸出最終數據
我之前說過,binary那列在最后可以省略,那么結果就是0001 0010 0011了,我也說過1組數據對應1個2進制顯示屏,所以我們分組看,第一組變成十進制數就是1,第二組就是2
第三組就是3
+3模塊的真值表
下面的就是成品圖了。