1
A
回答
1
這是不是太清楚你想要做什麼,但希望下面的幫助:
def to_bcd(n)
str = n.to_s
bin = ""
str.each_char do |c|
bin << c.to_i.to_s(2).rjust(4,'0')
end
bin
end
def to_dec(bcd)
n = ""
(bcd.length/4).times do |i|
n << Integer('0b'+bcd[i*4..(i*4+3)]).to_s
end
n
end
result = to_bcd(120)
p result #=> "000100100000"
p to_dec(result) #=> "120"
p to_dec(result).to_i.chr #=> "x"
如果你喜歡,你可以用兩種方法延長Integer和String類的上面,分別,沒有參數並用自己替換參數名稱。但有人不喜歡這個想法來擴展標準的類,因爲它不是一個乾淨/安全的編程習慣。
2
2
雖然這個問題是早就死了,我剛剛處理了這一點。假設你已經轉換爲BCD:
bcd_val.to_s(16)
此轉換BCD數值爲十六進制,但由於每個四位是數字,所有數字0-9之間,它有效地顯示爲整數的字符串。
請注意,如果您的bcd編號存儲LSB到MSB(取決於您如何轉換爲bcd),編號將向後顯示。此時,您可以根據需要始終使用str.reverse。
相關問題
- 1. 將十進制轉換爲BCD
- 2. C中的BCD(二進制編碼的十進制)
- 3. 將二進制轉換爲十進制
- 4. 將十進制轉換爲二進制
- 5. 將二進制(或十六進制)轉換爲ASCII
- 6. 如何將二進制/ denary /十六進制/八進制轉換爲Python中的二進制編碼的十進制(BCD)
- 7. 將二進制編碼的十進制(BCD)解碼爲無符號整數
- 8. 轉換ASCII /二進制文件的彙編語言轉換爲十進制
- 9. 將十進制轉換爲十六進制/二進制
- 10. 將十六進制轉換爲二進制到十六進制?
- 11. 轉換十進制ASCII /二進制彙編
- 12. Ascii碼轉換爲十六進制
- 13. 將十六進制轉換爲二進制,然後轉換爲十進制
- 14. Python3 ASCII十六進制轉換爲二進制字符串
- 15. c#將十六進制轉換爲ASCII
- 16. 將十六進制值轉換爲ascii
- 17. 將十六進制轉換爲ascii
- 18. VHDL編碼:10位十進制轉換爲BCD有可能嗎?
- 19. 將十進制轉換爲二進制和二進制轉換爲十進制的程序?
- 20. 將十進制轉換爲二進制的Python代碼
- 21. 如何在Ruby中將Blowfish編碼的二進制字符串轉換爲ASCII?
- 22. 從十進制轉換爲二進制
- 23. 二進制轉換爲十進制 - understaing
- 24. 從二進制轉換爲十進制
- 25. 十六進制轉換爲二進制
- 26. 從二進制轉換爲十進制
- 27. 十六進制轉換爲二進制
- 28. 將十六進制轉換爲二進制和16位二進制補碼
- 29. 轉換十進制轉換爲二進制補碼
- 30. 如何將兩位BCD碼轉換爲二進制碼?
你到目前爲止嘗試過什麼?是否有任何樣品可以(不是真的/幾乎)工作?你得到什麼樣的結果是不正確的? – arnep