VB 各种进制相互转换大全
十进制,八进制,十六进制,二进制相互转换 程序代码: |
' 用途:将十进制转化为二进制
' 输入:Dec(十进制数)
' 输入数据类型:Long
' 输出:DEC_to_BIN(二进制数)
' 输出数据类型:String
' 输入的最大数为2147483647,输出最大数为1111111111111111111111111111111(31个1)
Public Function DEC_to_BIN(Dec As Long) As String
DEC_to_BIN = ""
Do While Dec > 0
DEC_to_BIN = Dec Mod 2 & DEC_to_BIN
Dec = Dec \ 2
Loop
End Function
' 用途:将二进制转化为十进制
' 输入:Bin(二进制数)
' 输入数据类型:String
' 输出:BIN_to_DEC(十进制数)
' 输出数据类型:Long
' 输入的最大数为1111111111111111111111111111111(31个1),输出最大数为2147483647
Public Function BIN_to_DEC(ByVal Bin As String) As Long
Dim i As Long
For i = 1 To Len(Bin)
BIN_to_DEC = BIN_to_DEC * 2 + Val(Mid(Bin, i, 1))
Next i
End Function
' 用途:将十六进制转化为二进制
' 输入:Hex(十六进制数)
' 输入数据类型:String
' 输出:HEX_to_BIN(二进制数)
' 输出数据类型:String
' 输入的最大数为2147483647个字符
Public Function HEX_to_BIN(ByVal Hex As String) As String
Dim i As Long
Dim B As String
Hex = UCase(Hex)
For i = 1 To Len(Hex)
Select Case Mid(Hex, i, 1)
Case "0": B = B & "0000"
Case "1": B = B & "0001"
Case "2": B = B & "0010"
Case "3": B = B & "0011"
Case "4": B = B & "0100"
Case "5": B = B & "0101"
Case "6": B = B & "0110"
Case "7": B = B & "0111"
Case "8": B = B & "1000"
Case "9": B = B & "1001"
Case "A": B = B & "1010"
Case "B": B = B & "1011"
Case "C": B = B & "1100"
Case "D": B = B & "1101"
Case "E": B = B & "1110"
Case "F": B = B & "1111"
End Select
Next i
While Left(B, 1) = "0"
B = Right(B, Len(B) - 1)
Wend
HEX_to_BIN = B
End Function
' 用途:将二进制转化为十六进制
' 输入:Bin(二进制数)
' 输入数据类型:String
' 输出:BIN_to_HEX(十六进制数)
' 输出数据类型:String
' 输入的最大数为2147483647个字符
Public Function BIN_to_HEX(ByVal Bin As String) As String
Dim i As Long
Dim H As String
If Len(Bin) Mod 4 <> 0 Then
Bin = String(4 - Len(Bin) Mod 4, "0") & Bin
End If
For i = 1 To Len(Bin) Step 4
Select Case Mid(Bin, i, 4)
Case "0000": H = H & "0"
Case "0001": H = H & "1"
Case "0010": H = H & "2"
Case "0011": H = H & "3"
Case "0100": H = H & "4"
Case "0101": H = H & "5"
Case "0110": H = H & "6"
Case "0111": H = H & "7"
Case "1000": H = H & "8"
Case "1001": H = H & "9"
Case "1010": H = H & "A"
Case "1011": H = H & "B"
Case "1100": H = H & "C"
Case "1101": H = H & "D"
Case "1110": H = H & "E"
Case "1111": H = H & "F"
End Select
Next i
While Left(H, 1) = "0"
H = Right(H, Len(H) - 1)
Wend
BIN_to_HEX = H
End Function
' 用途:将十六进制转化为十进制
' 输入:Hex(十六进制数)
' 输入数据类型:String
' 输出:HEX_to_DEC(十进制数)
' 输出数据类型:Long
' 输入的最大数为7FFFFFFF,输出的最大数为2147483647
Public Function HEX_to_DEC(ByVal Hex As String) As Long
Dim i As Long
Dim B As Long
Hex = UCase(Hex)
For i = 1 To Len(Hex)
Select Case Mid(Hex, Len(Hex) - i + 1, 1)
Case "0": B = B + 16 ^ (i - 1) * 0
Case "1": B = B + 16 ^ (i - 1) * 1
Case "2": B = B + 16 ^ (i - 1) * 2
Case "3": B = B + 16 ^ (i - 1) * 3
Case "4": B = B + 16 ^ (i - 1) * 4
Case "5": B = B + 16 ^ (i - 1) * 5
Case "6": B = B + 16 ^ (i - 1) * 6
Case "7": B = B + 16 ^ (i - 1) * 7
Case "8": B = B + 16 ^ (i - 1) * 8
Case "9": B = B + 16 ^ (i - 1) * 9
Case "A": B = B + 16 ^ (i - 1) * 10
Case "B": B = B + 16 ^ (i - 1) * 11
Case "C": B = B + 16 ^ (i - 1) * 12
Case "D": B = B + 16 ^ (i - 1) * 13
Case "E": B = B + 16 ^ (i - 1) * 14
Case "F": B = B + 16 ^ (i - 1) * 15
End Select
Next i
HEX_to_DEC = B
End Function
' 用途:将十进制转化为十六进制
' 输入:Dec(十进制数)
' 输入数据类型:Long
' 输出:DEC_to_HEX(十六进制数)
' 输出数据类型:String
' 输入的最大数为2147483647,输出最大数为7FFFFFFF
Public Function DEC_to_HEX(Dec As Long) As String
Dim a As String
DEC_to_HEX = ""
Do While Dec > 0
a = CStr(Dec Mod 16)
Select Case a
Case "10": a = "A"
Case "11": a = "B"
Case "12": a = "C"
Case "13": a = "D"
Case "14": a = "E"
Case "15": a = "F"
End Select
DEC_to_HEX = a & DEC_to_HEX
Dec = Dec \ 16
Loop
End Function
' 用途:将十进制转化为八进制
' 输入:Dec(十进制数)
' 输入数据类型:Long
' 输出:DEC_to_OCT(八进制数)
' 输出数据类型:String
' 输入的最大数为2147483647,输出最大数为17777777777
Public Function DEC_to_OCT(Dec As Long) As String
DEC_to_OCT = ""
Do While Dec > 0
DEC_to_OCT = Dec Mod 8 & DEC_to_OCT
Dec = Dec \ 8
Loop
End Function
' 用途:将八进制转化为十进制
' 输入:Oct(八进制数)
' 输入数据类型:String
' 输出:OCT_to_DEC(十进制数)
' 输出数据类型:Long
' 输入的最大数为17777777777,输出的最大数为2147483647
Public Function OCT_to_DEC(ByVal Oct As String) As Long
Dim i As Long
Dim B As Long
For i = 1 To Len(Oct)
Select Case Mid(Oct, Len(Oct) - i + 1, 1)
Case "0": B = B + 8 ^ (i - 1) * 0
Case "1": B = B + 8 ^ (i - 1) * 1
Case "2": B = B + 8 ^ (i - 1) * 2
Case "3": B = B + 8 ^ (i - 1) * 3
Case "4": B = B + 8 ^ (i - 1) * 4
Case "5": B = B + 8 ^ (i - 1) * 5
Case "6": B = B + 8 ^ (i - 1) * 6
Case "7": B = B + 8 ^ (i - 1) * 7
End Select
Next i
OCT_to_DEC = B
End Function
' 用途:将二进制转化为八进制
' 输入:Bin(二进制数)
' 输入数据类型:String
' 输出:BIN_to_OCT(八进制数)
' 输出数据类型:String
' 输入的最大数为2147483647个字符
Public Function BIN_to_OCT(ByVal Bin As String) As String
Dim i As Long
Dim H As String
If Len(Bin) Mod 3 <> 0 Then
Bin = String(3 - Len(Bin) Mod 3, "0") & Bin
End If
For i = 1 To Len(Bin) Step 3
Select Case Mid(Bin, i, 3)
Case "000": H = H & "0"
Case "001": H = H & "1"
Case "010": H = H & "2"
Case "011": H = H & "3"
Case "100": H = H & "4"
Case "101": H = H & "5"
Case "110": H = H & "6"
Case "111": H = H & "7"
End Select
Next i
While Left(H, 1) = "0"
H = Right(H, Len(H) - 1)
Wend
BIN_to_OCT = H
End Function
' 用途:将八进制转化为二进制
' 输入:Oct(八进制数)
' 输入数据类型:String
' 输出:OCT_to_BIN(二进制数)
' 输出数据类型:String
' 输入的最大数为2147483647个字符
Public Function OCT_to_BIN(ByVal Oct As String) As String
Dim i As Long
Dim B As String
For i = 1 To Len(Oct)
Select Case Mid(Oct, i, 1)
Case "0": B = B & "000"
Case "1": B = B & "001"
Case "2": B = B & "010"
Case "3": B = B & "011"
Case "4": B = B & "100"
Case "5": B = B & "101"
Case "6": B = B & "110"
Case "7": B = B & "111"
End Select
Next i
While Left(B, 1) = "0"
B = Right(B, Len(B) - 1)
Wend
OCT_to_BIN = B
End Function
' 用途:将八进制转化为十六进制
' 输入:Oct(八进制数)
' 输入数据类型:String
' 输出:OCT_to_HEX(十六进制数)
' 输出数据类型:String
' 输入的最大数为2147483647个字符
Public Function OCT_to_HEX(ByVal Oct As String) As String
Dim Bin As String
Bin = OCT_to_BIN(Oct)
OCT_to_HEX = BIN_to_HEX(Bin)
End Function
' 用途:将十六进制转化为八进制
' 输入:Hex(十六进制数)
' 输入数据类型:String
' 输出:HEX_to_OCT(八进制数)
' 输出数据类型:String
' 输入的最大数为2147483647个字符
Public Function HEX_to_OCT(ByVal Hex As String) As String
Dim Bin As String
Hex = UCase(Hex)
Bin = HEX_to_BIN(Hex)
HEX_to_OCT = BIN_to_OCT(Bin)
End Function
VB自带函数:
十进制转八进制:Oct(num)
十六进制转八进制:oct("&H" & num)
十进制转十六进制:hex(num)
八进制转十六进制:hex("&O" & num)
十六进制转换为十进制
Dim str As String
str = Text2.Text
Text10.Text = CLng("&H" & str)
★VB部分相关文章推荐:★
※vb中line的用法[转]
※画图工具的VB实现
※VB 一个获得自己外网 IP 地址的程序代码
※VB程序中实现IP地址子网掩码网关DNS的更改 [转]
※在 VB 中应用 FSO 对象模型介绍(摘自网络)
※[转] Vb中FSO 对象的介绍
※VB 画坐标轴
※VB 二进制文件的操作
※[VB]BMP转JPGVB中KeyCode常数用法
※vb实时曲线的绘制和保存
※VB操作EXCEL
※vb初学回顾:最大公约数 最小公倍数 素数求取
※vb 关于窗口样式的API以及处理文本的API参考
※【引用】在VB6.0中实现弹出式菜单的几种方法
※【引用】URLDownloadToFile_VB下载文件!
※利用WinRar压缩和解压缩文件
※VB 剪切板
※VB实现指示窗口中拖动方框的程序
※VB绘制走动的表针
※如何用VB制作DLL文件
※【引用】VB修改IP地址
※VB多窗体退出代码
※[转]VB:如何检测到U盘的插拔(源代码)
※巧用SendMessage函数扩展Treeview功能
※vb中如何在任务管理器里面隐藏应用程序进程
※如何实现VB与EXCEL的无缝连接
※一个API方式存取日志文件的模块[VB]
※VB用记录集填充表格函数
※VB打开文本文件各种方法
※vb ClipBoard 剪切板应用(复制剪切粘贴)
※【引用】窗口处理技巧大全 vb(窗体控件)
※【转】 Md rd命令之VB
※vb:读写文本文件
※在vb中实现真正锁定的带自定义菜单的文本控件
※【引用】使用CommonDialog的ShowSave后如何判断是保存还是※取消?
※vb 关于commondialog的多选VB获取Windows操作系统所有版本
※vb UTF文本文件访问
※VB编程中的Unicode vs Ansi
※VB编PiView4注册机
※VB获取超过2G文件的大小
※比CopyMemory还要快的函数SuperCopyMemory
※VB:编程效率快步提高之:十七种可用一行代码完成的技巧
※VB画出来的五星红旗
※Qt第一印象——Qte与Qt
更多精彩>>>
VB 各种进制相互转换大全相关推荐
- VB 进制转换大全(十进制、十六进制、八进制、二进制、二进制流)互转
模块包含了下面的各种转换: 二进制转十进制 二进制转化为八进制 二进制转化为十六进制 八进制转化为十进制 八进制转化为二进制 八进制转化为十六进制 十进制转二进制 十进制转化为八进制 十进制转化为十六 ...
- c++进制转换代码_轻松实现C/C++各种常见进制相互转换,你还不会你就落后了
这篇文章主要介绍了轻松实现C/C++各种常见进制相互转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 其它进制转为十进制 在实 ...
- Python进制相互转换(二进制、十进制和十六进制)的代码
如下的内容内容是关于Python进制相互转换(二进制.十进制和十六进制)的内容,希望对各位朋友有用. #!/usr/bin/env python 2/10/16 base trans. wrote b ...
- php实现进制转换计算器,PHP进制相互转换计算实现步骤
这次给大家带来PHP进制相互转换计算实现步骤,PHP进制相互转换计算实现的注意事项有哪些,下面就是实战案例,一起来看一下. 进制转换器 $n1=$n2=""; if($_POST) ...
- linux ascii与字符相互转换,ascii 字符串和16进制相互转换
python 实现的 ascii 字符串和16进制相互转换,备忘一下.有时候转换个IP地址会用到. ''' _ooOoo_ o8888888o 88" . "88 (| -_- | ...
- oracle数据库十六进制转字符串,Oracle中各种进制相互转换
一.自带函数可实现十进制与十六进制相互转换,二进制与十进制转换. 1.16进制转换为10进制 可以通过to_number函数实现 SQL> select to_number('19f','xxx ...
- python进制转化大全
最近在密码学上做一些工作,所以对数据的处理搞了很多,发现网上并没有很好的把所有进制问题说清楚的文章,虽然这个问题不大,但我还是想写下来,总结好了以后大家用起来也都方便. print(int(" ...
- php 实现进制相互转换
最近的项目中需要用到进制转换,这个问题在刚刚接触计算机理论时候,还是很会的,好久不用,居然模糊了-- 从十进制向其它进制转换,用的是就用该数字不断除以要转换的进制数,读取余数.连接一起就可以了. ? ...
- java中 8进制 10进制 2进制 16进制 相互转换
十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinar ...
最新文章
- mysql blob图片_使用mysql的Blob字段存取图片
- Mysql取分组中前N条记录
- sql 过滤空值_SQL 编程思想:一切皆关系!
- mysql 杂记(二)
- Bailan4142 二分法求函数的零点【二分法】
- 思科的雾计算对物联网有何推助力?
- 实习踩坑之路:ElasticSearch双写数据不同步?不实时?怎么优化?
- 福禄克FLUKE OFP-200-S-MOD/OFP-200-S1490-MOD/OFP-200-S1625-MOD/OptiFiber Pro高动态范围模块
- 程序员值得收藏的41个电子书搜索网站
- 微软MSN博客申请使用全功略(转)
- python自带idle_使用自带的IDLE
- 8.3 初步理解 Texture Alpha
- dToF与iToF技术解析
- dede标签属性(转载)
- 你能不能做老大,关键就看这8关!突破了,人人死心塌地追随你
- 设计模式之十一个行为型模式的相关知识,简单易懂。
- 开店经验|如何开一家精品咖啡馆
- 期货模拟盘有效果吗?
- 经典快速制作套打证书模板(doc)大全
- 10.(leaflet之家)leaflet暗色系地图样式地图(滤镜实现,反色滤镜)
热门文章
- 移动开发的跨平台技术发展史 | 技术头条
- 华为云发布国内首个 AI 模型市场,加速企业 AI 应用落地
- 身价百亿的中本聪是如何打造出“创世区块”的?
- 挖矿机十年变迁,你再也不会用1万比特币买一块披萨
- PDF超过6000页,OMG,学它
- hp打印机没有右键扫描_安装HP打印机报错 0x000006be解决方法,图文操作步骤详解...
- python程序设计是干什么的_python程序员有学设计模式的必要吗?
- docker 时区_centos7.X上部署docker并运行常用的应用
- 数独基本规则_思维训练|数独入门第五课:唯余解法
- python写出函数调用关系_函数递归调用: 调用者 与 被调用者之间的四种数据传递关系...