VB編程序實現十進制數轉換成2、8、16進制數_第1頁
VB編程序實現十進制數轉換成2、8、16進制數_第2頁
VB編程序實現十進制數轉換成2、8、16進制數_第3頁
VB編程序實現十進制數轉換成2、8、16進制數_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、VB編程序實現十進制數轉換成2、8、16進制數十進制轉二進制Public Function DECtoBIN(Dec As Long) As String DECtoBIN = "" Do While Dec > 0 DECtoBIN = Dec Mod 2 & DECtoBIN Dec = Dec 2 LoopEnd Function十進制轉八進制:VB自帶函數:Oct(num)十進制轉十六進制:VB自帶函數:hex(num) 轉換成十六進制 Hex()如:10(十進制):Hex(10)=A轉換成8進制Oct()如:10(十進制):Oct(10)=12轉換成

2、2進制,使用下面的方法'采用連除2取余數,將一個十進制數轉換為二進制數Dim Dec As Integer '輸入一個十進制數Dim Bin As String '轉換為二進制表示Dim res As IntegerDim i As IntegerDec = Val(InputBox("x=")Form1.Print "十進制數:" DecDores = Dec Mod 2 '求出除以2的余數Bin = res & BinDec = Dec 2Loop While Dec <> 0Form1.Print

3、 "轉換為二進制數為:" BinPrivate Sub Command1_Click()Print bin(Text1.Text)End SubFunction bin(n As Long) As StringDo Until n = 0bin = (n Mod 2) & binn = n 2LoopEnd Function十六進制:Hex(number)或使用&H前綴 八進制:Oct(number)或使用&O前綴 二、八、十六進制轉為十進制:參數sdate為要進行轉換的數,stype為此數的類型。如要將十六進制的"7b"轉為十進

4、制: msgbox OtherToShi("7b",16)Private Function OtherToShi(ByVal Sdate As String, ByVal Stype As Long) As StringDim A As String, K As Long, P As LongIf trim(sdate)="" then msgbox "請輸入要轉換的數!" :Exit functionOn Error GoTo ExitsubP = Len(Sdate)Select Case Stype Case 2 For K =

5、 1 To P If Mid(Sdate, K, 1) > 1 Then GoTo Exitsub Next Case 8 If IsNumeric(Sdate) = False Then GoTo Exitsub Sdate = Round(Sdate) p=len(sdate) Case 16 For K = 1 To P A = Asc(LCase(Mid(Sdate, K, 1) If A < 48 Or (A > 49 And A < 97) Or A > 102 Then GoTo Exitsub Next Case Else '按你說的操作,

6、此句好象可免 MsgBox "指定轉換的類型不正確,請重新輸入!": Exit FunctionEnd SelectK = 0Do While K < P K = K + 1 A = Mid(Sdate, K, 1) If Stype = 16 Then Select Case LCase(A) Case "a" A = "10" Case "b" A = "11" Case "c" A = "12" Case "d" A = &

7、quot;13" Case "e" A = "14" Case "f" A = "15" End Select End IfOtherToShi = LTrim(Str(Val(OtherToShi) + Val(A) * Stype (P - K)LoopExit FunctionExitsub:MsgBox "要轉化為" & Stype & "進制的數據不合法,請重新輸入!"End Function'十進制轉為二、八、十六進制:'

8、用法與上類似Private Function ShiToOther(ByVal Sdate As String, ByVal Stype As Long) As StringDim S As StringIf trim(sdate)="" then msgbox "請輸入要轉換的數!" :Exit functionIf IsNumeric(Sdate) = False Then GoTo Exitsub'要轉換的對象非數值型,跳出不執行On Error GoTo Exitsub Sdate = Round(Val(Sdate) '進行四舍

9、五入 Do While Sdate > 0 S = LTrim(Str(Sdate Mod Stype) If Stype = 16 Then Select Case S Case "10" S = "A" Case "11" S = "B" Case "12" S = "C" Case "13" S = "D" Case "14" S = "E" Case "15" S = "F" E

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論