Option Explicit<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
'2进制转换为10制数
Public Function BinToDec(bin As String) As Long
Dim i As Long
For i = 1 To Len(bin)
BinToDec = BinToDec * 2 + Val(Mid(bin, i, 1))
Next
End Function
'10进制转换为2制数
Public Function DecToBin(dec As Long) As String
DecToBin = ""
Do While dec > 0
DecToBin = (dec Mod 2) & DecToBin
dec = dec / 2
<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><place w:st="on">Loop</place>
End Function
'16进制数转换为10进制数
Public Function HexToDec(str2 As String) As Long
Dim i As Long, a As Variant, k As Long
k = 0
For i = Len(str2) - 1 To 0 Step -1
a = Asc(LCase(Mid(str2, Len(str2) - i, 1))) '统一求得各个字符的小写状态下的字符所对应的ASCII值
a = IIf(a >= 48 And a <= 57, a - 48, a - 87)
'0的ASCII码为48,字母a的ASCII码为97,而16进制下的A对应为10进制下的10
'如果a在16进制下为 0 至 9 的数,则-------
'如果a在16进制下为 a 至 f 的数,则-------
k = k + (16 ^ i) * a '累加,就像 12345=1*10^4+2*10^3+3*10^2+4*10^1+5*1^0
Next
HexToDec = k '得到的这个返回值 K 就是转换后的10进制数
End Function
'10进制转换成16进制数
Public Function DecToHex(X As Long) As String
Dim a As String
Dim r As String
Do While X > 0
r = X Mod 16
X = X / 16
r = IIf(r > 9, Chr(Asc(r - 9) + 16), r)
'如果这里不减9,一旦r为11,12,13,14,15时,就只得到 1 的ASCII码值,得到了一个错误的结果。
a = r + a
<place w:st="on"><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; mso-bidi-font-size: 12.0pt">Loop</span></b></place>
DecToHex = a
End Function
'10进制转换为8进制
Public Function DecToOct(dec As Long) As String
DecToOct = ""
Do While dec > 0
DecToOct = (dec Mod 8) & DecToOct
dec = dec / 8
<place w:st="on">Loop</place>
End Function
'8进制转换为10进制
Public Function OctToDec(str2 As String) As Long
Dim i As Long, a As Variant, k As Long
k = 0
For i = Len(str2) - 1 To 0 Step -1
a = Asc(Mid(str2, Len(str2) - i, 1)) '统一求得各个字符的小写状态下的字符所对应的ASCII值
a = a - 48
k = k + (8 ^ i) * a '累加,就像 12345=1*10^4+2*10^3+3*10^2+4*10^1+5*1^0
Next
OctToDec = k '得到的这个返回值 K 就是转换后的10进制数
End Function
'8进制转换为16进制
Public Function OctToHex(Oct As String) As String
Dim dec As Long
dec = OctToDec(Oct) '8进制转10进制
OctToHex = DecToHex(dec) ' 10进制转16进制
End Function
'8进制转为2进制
Public Function OctToBin(Oct As String) As String
Dim dec As Long
dec = OctToDec(Oct) '8进制转10进制
OctToBin = DecToBin(dec) ' 10进制转2进制
End Function
'16进制转为8进制
Public Function HexToOct(Hex As String) As String
Dim dec As Long
dec = HexToDec(Hex) '16进制转10进制
HexToOct = DecToOct(dec) '10进制转8进制
End Function
'16进制转为2进制
Public Function HexToBin(Hex As String) As String
Dim dec As Long
dec = HexToDec(Hex) '16进制转10进制
HexToBin = DecToBin(dec) '10进制转2进制
End Function
'2进制转化为16进制
Public Function BinToHex(bin As String) As String
Dim dec As Long
dec = BinToDec(bin) '2进制转为10进制
BinToHex = DecToHex(dec) '10进制转为16进制
End Function
'2进制转化为8进制
Public Function BinToOct(bin As String) As String
Dim dec As Long
dec = BinToDec(bin) '2进制转化为10进制
BinToOct = DecToOct(dec) '10进制转化为8进制
End Function
分享到:
相关推荐
2进制,16进制,10进制相互转化的c++算法 可以实现小数,负数的转化
16进制与有符号10进制间的相互转换,支持16进制数转换为有符号10进制数,或将有符号10进制转换为16进制数,可选包含1、2、4、8字节。
16进制与浮点数相互转换
*一个进位制转换的的小程序,... * 2,8,16与10进制,以及10进制与 2,8,16进制的相互转换 *如果要将一个二进制直接转换为 8或16进制可以先将2进制转换为10进制,再由10 *进制转换为 8或16进制,其他进制的相互转换同理
自己用Qt5.4.1的Qt Creator开发的IEEE754浮点数与十六进制数转换器,可以供Qt初学者学习槽函数的用法,也可以学习IEEE754浮点数与十六进制数转换的算法。两个文本框关联,实时将浮点数与十六进制数互相转换,代码...
C++代码将16进制数转换成浮点型数。完整代码,可直接运行。
数据结构可小实验,简单的2-16进制相互转化算法,终端显示 压缩包包含:一个cpp文件,一个电话簿,可直接编译运行
Java 的16 进制与字符串的相互转换函数 JAVA 时间格式化处理 将毫秒转化为日期 文本的倒序输出 判断一个数字是奇数还是偶数 用Hibernate 实现分页 35 选7 彩票程序 获取GMT8 时间 中文乱码转换 Big5 字与Unicode 的...
浮点数与十六进制数互换功能算法有点问题,我已经对算法进行了更改,但是最近太忙没有时间整理,过段时间我整理成一个转换软件,包括单精度、双精度、扩展双精度浮点数与十六进制相互转换的功能,带源码,敬请关注
西门子PLC数据格式转换控件,有源代码,VB控件,算法包括二进制,16进制,8进制,10进制之间的数据相互转换,还有西门子PLC浮点数和浮点数32位二进制表示法之间的相互转换等,算法丰富,可用于单片机和PC通讯等等。
java 算法大全 java16进制与字符串的相互转换函数
本资源摘要信息涵盖了微型计算机基础知识,包括计算机中的数制及相互转换、二进制数的运算、带符号数的表示、定点数和浮点数、BCD码和ASCII码等。 计算机中的数制及相互转换是计算机科学的基础知识之一。数制是指...
画51_树、森林及二又树的相互转换. mp452_赫夫曼树. mp453_赫夫曼编码. mp4 四54_赫夫曼编码C语言实现. mp4口55_图. mp4 逾56_图的定义与术语2. mp457_图的存储结构. mp4 58_图的存储结构(邻接表) . mp4 59...
内容包括:Java的16进制与字符串的相互转换函数 JAVA时间格式化处理 ,将毫秒转化为日期, 文本的倒序输出 ,判断一个数字是奇数还是偶数 ,用Hibernate实现分页, 35选7彩票程序 ,获取GMT8时间, 中文乱码转换 ,...
本资源是关于JAVA算法的详细介绍,涵盖了十六进制与字符串的相互转换、CRC16校验算法等多种算法。下面是对这些算法的详细解释: 一、十六进制与字符串的相互转换 在JAVA中,十六进制与字符串的相互转换是非常常见...
Java的16进制与字符串的相互转换函数 JAVA时间格式化处理 将毫秒转化为日期 文本的倒序输出 判断一个数字是奇数还是偶数 35选7彩票程序 中文乱码转换
其中,梯形图 LD、语句表 IL 和功能块图 FBD 是 3 种根本编程语言,可以相互转换。 1.指令表 IL(Instruction list) 指令表 IL 是一种低级编程语言,使用符号来表示指令。它是 STEP7 编程语言中的基本语言,其他...
同时还设计到数制的转换问题,内存中的数据是16进制,而我们习惯看到的是10进制数,通过16进制转换成10进制,在转成通用ASCLL码输出显示,同时还用到DOS的中断调用。 四、程序流程图 该程序流程图主要展示了程序的...
9. 采用相位振幅调制 PAM 技术,可以提高数据传输速率,例如采用 8 种相位,每种相位取 2 种幅度值,可使一个码元(Hz)表示的二进制数的位数为 4 位。相位振幅调制 PAM 技术是一种数据传输技术,能够提高数据传输...