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

提交评论