24h購物| | PChome| 登入
2007-06-10 17:25:22 | 人氣88| 回應0 | 上一篇 | 下一篇
推薦 0 收藏 0 轉貼0 訂閱站台

數碼轉換(二進位、八進位、十進位、十六進位相互轉換)

 

Rem 表單佈局
Rem Text1(0)~text1(1),Text2(0)~text2(1),...共12組,Command_Button*13,如附圖
Rem 效果:
Rem 常用之二進位、八進位、十進位、十六進位轉換。

程式碼:


Private Sub Command1_Click()                    '十進制轉16進制
n = Val(Text1(0))
Text1(1) = Hex(n)
End Sub

Private Sub Command10_Click()                   '16進制轉十進制
num = Text10(0)   '在這裡輸入
Text10(1) = Val("&H" + num)
End Sub

Private Sub Command11_Click()                   '16進制轉二進制,先轉成十進位再轉為二進位
num = Text11(0)   '在這裡輸入
ten = Val("&H" + num)
Text11(1) = TenToTwo(ten)

End Sub

Private Sub Command12_Click()                   '16進制轉八進制
num = Text12(0)   '在這裡輸入
ten = Val("&H" + num)
Text12(1) = Oct(ten)
End Sub

Private Sub Command13_Click()
End
End Sub

Private Sub Command2_Click()                    '十進制轉八進制
n = Val(Text2(0))   '在這裡輸入
Text2(1) = Oct(n)
End Sub

Private Sub Command3_Click()                    '十進制轉二進制
n = Val(Text3(0))   '在這裡輸入
Text3(1) = TenToTwo(n)
End Sub

Private Sub Command4_Click()                    '二進制轉十進制
Binary = Text4(0)   '在這裡輸入
Text4(1) = B_to_10(Binary)
End Sub

Private Sub Command5_Click()                    '二進制轉八進制,先轉成十進制再轉為八進制
Binary = Text5(0)   '在這裡輸入
Bintodec = B_to_10(Binary)
Text5(1) = Oct(Bintodec)

End Sub

Private Sub Command6_Click()                            '二進制轉16進制,先轉成十進制再轉為16進制
Binary = Text6(0)   '在這裡輸入
n = B_to_10(Binary)
Text6(1) = Hex(n)

End Sub
Function TenToTwo(ByVal n As Long) As String            '自定函數(十進制轉二進制)
If n = 1 Or n = 0 Then
TenToTwo = n
Else
TenToTwo = TenToTwo(n \ 2) & (n Mod 2)
End If
End Function

Function B_to_10(ByVal B As String) As Integer          '自定函數(二進制轉十進制)
L = Len(B)
For i = 0 To (L - 1)
    Bintodec = Bintodec + (2 ^ i) * Val(Mid(B, L - i, 1))
Next i
B_to_10 = Bintodec
End Function


Private Sub Command7_Click()                    '八進制轉十進制
num = Text7(0)   '在這裡輸入
Text7(1) = Val("&O" + num)
End Sub

Private Sub Command8_Click()                    '八進制轉二進制,先轉成十進再轉為二進
num = Text8(0)   '在這裡輸入
ten = Val("&o" + num)
Text8(1) = TenToTwo(ten)

End Sub

Private Sub Command9_Click()                    '八進制轉16進制,先轉成十進再轉為16進制
num = Text9(0)   '在這裡輸入
ten = Val("&o" + num)
Text9(1) = Hex(ten)
End Sub

Private Sub Form_Load()
Me.Height = 10770
Me.Width = 8490
End Sub

台長: Kenny
人氣(88) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 教育學習(進修、留學、學術研究、教育概況) | 個人分類: 程式設計 |
此分類下一篇:亂數產生與排序
此分類上一篇:鬧鈴程式

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文