手机连线电脑怎样快速手机qq传送照片到电脑脑

当前位置:
主题:612671 ┆ 帖子:4760298
┆ 今日新贴:1142
昨日贴数:1645 ┆ 1历史最高贴数:2056
(日)在线用户:1866人
VB接收到PLC的十六进制码如何转为10进制码?
给TA发消息
加TA为好友
发表于: 09:57:00 楼主
大家好!本人最近使用VB6.0的MSCCOM控件与PLC通讯,PLC送过来的数据在PC端均显示为16进制数,如何把它转为十进制数呢?我前段时间也看过类似问题的贴子,现在我也遇到此问题,希望VB高手提供脚本程序?在此多谢大家了!急!!!
给TA发消息
加TA为好友 发表于: 10:55:00 1楼
设s是待转换的16进制/8进制数或字串:
16进制HEX -& 10进制DEC:
Val("&H" & s)
8进制OCT -& 10进制DEC:
Val("&O" & s)
给TA发消息
加TA为好友 发表于: 11:30:00 2楼
那反过来,如果我想把十进制数转换为十六进制或八进制数呢?
请问在VB中怎么做?有没有现成的函数?请教各位!
给TA发消息
加TA为好友 发表于: 11:31:00 3楼
那反过来,如果我想把十进制数转换为十六进制或八进制数呢?
请问在VB中怎么做?有没有现成的函数?请教各位!
给TA发消息
加TA为好友 发表于: 11:33:00 4楼
Hex(s)和Oct(s)
给TA发消息
加TA为好友 发表于: 12:05:00 5楼
谢谢你,关公!
给TA发消息
加TA为好友 发表于: 19:16:00 6楼
非常感谢关公和hustsup两位先生的贴子,但我在按关公先生的方法试着搞时,又遇到问题,首先我在此交代一下,如我接收的字据是不确定的,我在脚本程序中把所有的数据(不管长度)经过转换均放在buf中,然后在TextBox控件中显示出来,显示脚本程序为:txtReceive.Text=buf,然后我可以把接收到的字数已按16进制显示出来了,如接收到的数为:C1,B0,B9,B9,B9,B8,8D;然后我按关公的提示在脚本程序中加了如下的脚本程序:
txtVal=Val("&h"&buf);
然后txtReceive.Text=buf改为
txtReceive.Text=txtV(注此处由原来buf改为txtVal)
然后其它不变.
编译执行之后提示实时错误为:溢出,并指出错误在增加的句子处,即:txtVal=Val("&h"&buf)错误!
请问关公你所教的方法是不是只是一个单独数据可转换,太多了则会溢出,应当怎么增加脚本程序呢?
希望能得到关公大哥的指点,在此多谢了!
给TA发消息
加TA为好友 发表于: 03:14:00 7楼
用Val()函数变换一个大于Long型的16进制数时会产生溢出。
如:Val("&H" & "C1B0B9B9B9B88D") 时产生溢出;
但如:Val("&H" & "C1,B0,B9,B9,B9,B8,8D") 时,由于逗点的分隔,它在遇到第一个非16进制字符时就结束,其结果只是第一个数得到变换,因此它不会溢出。
以上方法都不能把各个数据分离出来,正确的方法是用对应类型和下标量的数组,多次变换对应装入。
或仍用一个字符串变量逐个进行:数制变换-&加分隔符-&串接.
给TA发消息
加TA为好友 发表于: 04:53:00 8楼
还请注意:FX-PLC总是返回以字节为单位的16进制字串,用它表示位元件时不会有问题,但如果它表示的是字元件的值,是成对出现且低字节在前,高字节在后的。如返回"C1B0"是D0的值的话,应理解为:D0 = B0C1h = 45249。
同理如“”是某个双字元件的值时,则应理解为:h。
给TA发消息
加TA为好友 发表于: 09:24:00 9楼
非常感谢关大哥的贴子,我一早就上来看你的贴子,无奈小女子才疏学浅,对VB不是很熟,所以按你的方法东撞西撞还是不得要领.对了,原来我这程序是用来跟PLC通讯的,但现在是跟一个仪表通讯,所以读出来的数是长短不一的,这样好不好,我把接收的全部程序放在贴子里,烦关大哥帮忙一下如何,如修改好之后可发邮件到:LLL_给我,接收的程序如下:
Private Sub Comm1_OnComm()
Select mEvent
Case comEvCD
Case comEvCTS
Case comEvDSR
Case comEvRing
Case comEvReceive
Dim i%, Buf$
InByte = Comm1.Input
For i = LBound(InByte) To UBound(InByte)
Buf = Buf + Hex(InByte(i)) + Chr(13) & Chr(10)
txtReceive.Text = Buf
Case comEvSend
End Select
我是利用了MSCOMM控件的OnComm事件之CommEvent属性来触发接收,其中InByte在前面有局部声明:Dim InByte() As Byte
请关大哥帮忙修改如何?小女子在此多谢了.
给TA发消息
加TA为好友 发表于: 10:33:00 10楼
我不知道你与这个仪表通讯的数据格式,文本型?/二进制型?
串行通讯数据包中通常含有:起始符-数据-结束-校验等部分.你接收后就忙于把它的全部作转换和串接,这是不妥的,因为上述的各部分信息未必全是二进制单字节的表达,更不能10进制变16进制的Hex()函数作其转换的通式.
如果不知道Comm1.Input里的内容,可先试将接收格式设置为文本,把它全部直接在txtReceive.Text里显示出来,看那些是你要的数据部分,它们以什么形式出现在txtReceive.Text里,然后再决定表示它们的方式.
建议你先用Execl电子表格的VBA编程,它每张工作表都可看作是一个视窗控件,每个单元都可是一个Variant类,既可容纳任意类型的数据,多个单元又可以作数组,保存时又可包括你的源程序和已在表格中的数据...
给TA发消息
加TA为好友 发表于: 14:34:00 11楼
谢谢关大哥的贴子,如果我只是简单地直接用:txtReceive.Text=comm1.Input,那么读过来的数据是:????1,显然这样做是不行的,前面还必须设置成什么格式对不?
可能我还是没有说清楚目前的情况,我把我自己目前的进展情况说一下吧,我用WINDOWS 2000的超级终端读写数据时完全没有问题,如我起动超级终端后,键盘输入请求读出当前测量值的大写"A"(协议确定"A"是申请读出测量值),则返回"A09998",而此时仪表上的显示的测量值是:9.998,说明是可以的;当我用前面给你的VB程序读取时,则显示为"C1B0B9B9B9B88D",很显然这表明也正确读出来了,比较仪表及用超级终端读出来的结果是一致的,把"C1"和"8D"这前后两个去掉,再把每个数前面的"B"去掉就是想要的结果"09998",我开始进也搞混了,实际可以说读出的并不是十六进制数,对不?
但如何把不要的去掉呢?我的确搞不了.
关大哥,你说用Excel表格方法,我更不知如何用了,如果可以的话,我可否把协议发到你邮箱去,你看一下怎么搞好!多谢.如果你同意的话,我就把协议发给你.
给TA发消息
加TA为好友 发表于: 14:48:00 12楼
我的EMAIL:qing59050@
给TA发消息
加TA为好友 发表于: 15:28:00 13楼
关大哥,我这就给你发过去.多谢!
给TA发消息
加TA为好友 发表于: 15:57:00 14楼
能不能把解决方案也给小弟一分,小弟也想学。
给TA发消息
加TA为好友 发表于: 16:10:00 15楼
关大哥,我已把脚本程序和协议发给你了,俺就看你的了,先谢你啦!
给TA发消息
加TA为好友 发表于: 05:42:00 16楼
既然知道了数据的规律,就直接用字符串截取函数取出要的,舍去不要的就行了吧。
给TA发消息
加TA为好友 发表于: 09:31:00 17楼
关大哥,早上好!真是很感谢你,按你的方法,终于搞掂了,你真是太高明了,以后一定多多向你讨教.在此我还要一并感谢所有关注此问题的同行朋友,谢谢你们,再次谢谢关大哥.
给TA发消息
加TA为好友 发表于: 09:48:00 18楼
to lenny:
"C1,B0,B9,B9,B9,B8,8D" 与 "A09998&CR&",正好存在一个等差80h,这不是数制转换的问题,是通讯口参数未设置好,使得每个ASCII字符的最高位(位7)都是1。
那个MSComm1.Settings = ? ,是对硬件的设置,必须与对话设备完全一致。
给TA发消息
加TA为好友 发表于: 09:51:00 19楼
CQSZL:你好!你提出的方法我也想试一试,是不是利用Mid?可是我还是有疑问,为什么呢?因为我说过所传的数据长度不一样时,怎么适用各种变化的情况?即使长度一致,用Mid去掉头和尾,但夹在中间的还有很多如何去掉?就拿我上面所说的"C1B09B9B9B9B88D",可用Mid("C1B0B9B9B9B88D",4,9),得到"0B9B9B9B8",再用什么办法把中间的"B"去掉并最终得到"09998",虽然仍可以用Mid进行多次取出,但仍要多次排列对不对?也许我的方法好笨,不知道你有什么办法?还有就是如何对负长度不一样的情况出现?请易教
给TA发消息
加TA为好友 发表于: 09:57:00 20楼
关大哥,你说得对极了,就是设数据位为7即好了.
给TA发消息
加TA为好友 发表于: 08:27:00 21楼
给TA发消息
加TA为好友 发表于: 08:28:00 22楼
现在我也想用vb接收plc发送过来的数据,plc每5秒采集一次流量信号,plc的数据格式为:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&帧头&&&&&&&&&&固定位&&&&&&&&&&&&0x23(1字节)&&0x01(1字节)&&&模拟量信号1(2字节)&&模拟量信号2(2字节)&&&模拟量信号3(2字节)&&&模拟量信号4(2字节)&&&0x24(1字节)最后一位为帧尾,共13个字节。现在我要接收模拟信号1(现在只有一个采集信号)在vb的label的文本框中显示数据(十进制),不知道怎么做???望各位高手能指点,帮助我!!!急!!!如能得到大家的帮助,我会万分感谢的!!!
给TA发消息
加TA为好友 发表于: 08:28:00 23楼
现在我也想用vb接收plc发送过来的数据,plc每5秒采集一次流量信号,plc的数据格式为:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&帧头&&&&&&&&&&固定位&&&&&&&&&&&&0x23(1字节)&&0x01(1字节)&&&模拟量信号1(2字节)&&模拟量信号2(2字节)&&&模拟量信号3(2字节)&&&模拟量信号4(2字节)&&&0x24(1字节)最后一位为帧尾,共13个字节。现在我要接收模拟信号1(现在只有一个采集信号)在vb的label的文本框中显示数据(十进制),不知道怎么做???望各位高手能指点,帮助我!!!急!!!如能得到大家的帮助,我会万分感谢的!!!
给TA发消息
加TA为好友 发表于: 14:15:20 24楼
关大哥,也发给我看一下吧!
周点击排行周回复排行
[218] [176] [171] [150] [127] [112] [103] [89] [87] [86]
[31] [22] [22] [12] [11] [11] [9] [9] [8] [8]最新求助
[1] [0] [0] [2] [1] [0] [1] [1] [3] [3]&&&&vb 十进制转换二进制计算器和源代码
vb 十进制转换二进制计算器和源代码
vb做界面的二进制计算器。可以自己在写上十六进制和八进制转换!
若举报审核通过,可奖励20下载分
被举报人:
gexiang456
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
开发技术下载排行VB 二进制,八进制,十进制,十六进制转换_武林网
→ VB 二进制,八进制,十进制,十六进制转换
VB 二进制,八进制,十进制,十六进制转换
Public Function D_To_B(ByVal Dec As Long) As String & &Do & & & &D_To_B = Dec Mod 2 & D_To_B & & & &Dec = Dec \ 2 & &Loop While DecEnd FunctionPublic Function B_To_D(ByVal Bin As String) As Integer & &Dim i As Long & &For i = 1 To Len(Bin) & & & &B_To_D = B_To_D * 2 + Val(Mid(Bin, i, 1)) & &Next iEnd FunctionPublic Function H_To_B(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 & &H_To_B = BEnd FunctionPublic Function B_To_H(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 & &B_To_H = HEnd Function
本文引用网址:
在下列搜索引擎中搜索“VB 二进制,八进制,十进制,十六进制转换”的相关信息:
你可能还喜欢以下文章
?上一篇文章:
?下一篇文章:共有 7447 人关注过本帖
标题:二进制如何转换十进制
等 级:新手上路
帖 子:85
&&问题点数:0&&回复次数:2&&&
二进制如何转换十进制
不知道如何转换.请帮帮忙
搜索更多相关主题的帖子:
等 级:新手上路
帖 子:1079
十进制,八进制,十六进制,二进制相互转换
' 用途:将十进制转化为二进制
' 输入:Dec(十进制数)
' 输入数据类型:Long
' 输出:DEC_to_BIN(二进制数)
' 输出数据类型:String
' 输入的最大数为,输出最大数为个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
End Function
' 用途:将二进制转化为十进制
' 输入:Bin(二进制数)
' 输入数据类型:String
' 输出:BIN_to_DEC(十进制数)
' 输出数据类型:Long
' 输入的最大数为个1),输出最大数为
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
' 输入的最大数为个字符
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)
&&& HEX_to_BIN = B
End Function
' 用途:将二进制转化为十六进制
' 输入:Bin(二进制数)
' 输入数据类型:String
' 输出:BIN_to_HEX(十六进制数)
' 输出数据类型:String
' 输入的最大数为个字符
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)
&&& BIN_to_HEX = H
End Function
用途:将十六进制转化为十进制
' 输入:Hex(十六进制数)
' 输入数据类型:String
' 输出:HEX_to_DEC(十进制数)
' 输出数据类型:Long
' 输入的最大数为7FFFFFFF,输出的最大数为
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
' 输入的最大数为,输出最大数为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
End Function
' 用途:将十进制转化为八进制
' 输入:Dec(十进制数)
' 输入数据类型:Long
' 输出:DEC_to_OCT(八进制数)
' 输出数据类型:String
' 输入的最大数为,输出最大数为
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
End Function
' 用途:将八进制转化为十进制
' 输入:Oct(八进制数)
' 输入数据类型:String
' 输出:OCT_to_DEC(十进制数)
' 输出数据类型:Long
' 输入的最大数为,输出的最大数为
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
' 输入的最大数为个字符
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)
&&& BIN_to_OCT = H
End Function
' 用途:将八进制转化为二进制
' 输入:Oct(八进制数)
' 输入数据类型:String
' 输出:OCT_to_BIN(二进制数)
' 输出数据类型:String
' 输入的最大数为个字符
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)
&&& OCT_to_BIN = B
End Function
' 用途:将八进制转化为十六进制
' 输入:Oct(八进制数)
' 输入数据类型:String
' 输出:OCT_to_HEX(十六进制数)
' 输出数据类型:String
' 输入的最大数为个字符
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
' 输入的最大数为个字符
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)
我看青山多妩媚料青山看我应如是
等 级:新手上路
帖 子:85
先感谢.我会慢慢学习的
咋学学不会.还就偏要学
版权所有,并保留所有权利。
Powered by , Processed in 0.023531 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights ReservedVB 二进制,八进制,十进制,十六进制转换-.NET教程,VB.Net语言-虚拟主机资讯|虚拟主机动态
产品服务快速通道
----------------
==域名注册==
英文域名注册
中文域名注册
==网站推广==
==虚拟主机==
----------------
双线路虚拟主机
基本型虚拟主机
商用型虚拟主机
论坛型虚拟主机
功能型虚拟主机
Vip合租虚拟主机
虚拟主机性能对比
虚拟主机免费试用
机房速度测试
----------------
==租用托管==
服务器租用
----------------
==企业邮局==
购买企业邮局
----------------
==付款方式==
----------------
==联系我们==
您当前位置:->-> ->
VB 二进制,八进制,十进制,十六进制转换-.NET教程,VB.Net语言
作者:网友供稿
  西部数码-全国虚拟主机10强!20余项管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:&
public function d_to_b(byval dec as long) as string
d_to_b = dec mod 2 & d_to_b
dec = dec \ 2
loop while dec
end function
public function b_to_d(byval bin as string) as integer
dim i as long
for i = 1 to len(bin)
b_to_d = b_to_d * 2 + val(mid(bin, i, 1))
next i
end function
public function h_to_b(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
while left(b, 1) = &0&
b = right(b, len(b) - 1)
h_to_b = b
end function
public function b_to_h(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
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
b_to_h = h
end function
文章整理:西部数码--专业提供、服务
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
文章页数:&
??????????
??????????
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
版权所有 西部数码()
CopyRight (c) 2002~ all right reserved.
公司地址:四川省成都市金牛区一环路北一段99号环球广场24楼 邮编:610031
电话总机:028-08 38
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028- 财务QQ:
售前咨询QQ:2182518
售后服务QQ:

我要回帖

更多关于 照片传送机电脑版下载 的文章

 

随机推荐