摘要:[Visual Baisc 6.0] 二進位與格雷碼( Gray Code ) 的轉換
[Visual Baisc 6.0] 二進位與格雷碼( Gray Code ) 的轉換
十進位 葛雷碼 二進位
0 000 000
1 001 001
2 011 010
3 010 011
4 110 100
5 111 101
6 101 110
7 100 111
# 格雷碼(循環碼)是任意兩個相鄰數的代碼只有一位二進制數不同的BCD碼,它與奇偶校驗碼同屬可靠性編碼。
'# [Visual Baisc 6.0] 二進位與格雷碼( Gray Code ) 的轉換
'# 0xDe
Private Sub Command1_Click() ' 二進位轉格雷碼
Text2 = Mid(Text1, 1, 1) ' 格雷碼第一位一定與二進位第一位相同
For i = 2 To Len(Text1)
Text2 = Text2 & (Val(Mid(Text1, i, 1)) Xor Val(Mid(Text1, i - 1, 1))) ' 目前這一位與前一位互斥或
Next i
End Sub
Private Sub Command2_Click() ' 格雷碼轉二進位
Text4 = Mid(Text3, 1, 1) ' 二進位第一位一定與格雷碼第一位相同
For i = 1 To Len(Text3) - 1
Text4 = Text4 & (Val(Mid(Text4, i, 1)) Xor Val(Mid(Text3, i + 1, 1))) ' 左下與右上角互斥或
Next i
End Sub
[Visual Baisc 6.0] 二進位與格雷碼( Gray Code ) 的轉換.rar
#0xDe 從分享中學習
#Facebook:ProgrammerDe (https://www.facebook.com/MicrosoftDes) 有問題歡迎提問