
正文
vb.net2进制转化 vb二进制转换
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
怎样用VB实现二进制数转化为十进制数?有多少种方法? 谢谢
'没有特定的函数。一般都是程序员自己编写自定义函数,无轮写法怎样都是用到了循环过程,请参考:
'如方法一:
'返回二进制数对应的十进制数值
Public Function B2D(ByVal bstr As String) As Long
Dim n As Integer
Dim s As Long
Dim i As Integer
Dim w As Integer
n = Len(Trim(bstr)) '去掉字串首尾可能有的空格并测出字串的长度
s = 0 '累加器清零
For i = n To 1 Step -1 '依次取字串的各位
w = Val(Mid(bstr, i, 1)) '把每位字符转换为数值,非法字符将视为0
s = s + 2 ^ (n - i) * w '按位计权累加
Next i
B2D = s '返回累加值
End Function
'返回十进制数对应的二进制字串
Public Function D2B(ByVal Dnum As Long) As String
Dim xx As String
Dim yy As Integer
xx = "" '字串累加清空
Do While Dnum 0 '循环取余至小于1
yy = Dnum Mod 2 '除2取余
Dec = Dec \ 2 '除2取整
xx = Trim(Str(yy)) xx '字串累加
Loop
D2B = xx '返回字串
End Function
'方法二:
'返回二进制数对应的十进制数值
Private Function C2to10(n2 As String) As Long
Dim i As Long, lenn2 As Long, n10 As Long
lenn2 = Len(n2)
For i = 1 To lenn2
n10 = n10 + Mid(n2, lenn2 - i + 1, 1) * 2 ^ (i - 1)
Next i
C2to10 = n10
End Function
'返回十进制数对应的二进制字串
Private Function C10to2(n10 As Long) As String
Dim n2 As String
Do Until n10 = 0
n2 = n10 Mod 2 n2
n10 = n10 \ 2
Loop
C10to2 = n2
End Function
请参考。
相关问答
Q1: vb.net 将文件转化成二进制
首先引入System.IO命名空间
Imports System.IO
然后使用文件流来读入数组:
Dim bytes() As Byte
Using fs As New FileStream(文件路径,FileMode.Open)
ReDim bytes(fs.Length-1)
fs.Read(bytes,0,fs.Length)
fs.Close()
End Using
这样bytes就是整个文件的所有字节了
从字节生成Image:
Dim img As Image = Image.FromStream(New MemoryStream(bytes))
img就是图片了
Q2: vb.net 二进制读取文件
VB.NET打开二进制文件用fileopen完成,打开二进制文件的形式为:openmode.binary
读取二进制文件用的是fileget方法,写入二进制文件用的是fileput方法。
应用示例:将一批随机数保存在一个dat文件中,然后再将其提取到文本框中。
二进制文件的读写一批随机数的存取,程序为:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim x, i, fn As Integer
Dim s As String = ""
fn = FreeFile()
FileOpen(fn, "d:\data.dat", OpenMode.Binary)
For i = 1 To 8
x = Int(Rnd() * 100)
s = s + Str(x)
FilePut(fn, x)
Next
FileClose(fn)
TextBox1.Text = s
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim x, fn As Integer
Dim s As String = ""
fn = FreeFile()
FileOpen(fn, "d:\data.dat", OpenMode.Binary)
Do While Not EOF(fn)
FileGet(fn, x)
s = s + Str(x) + " "
Loop
FileClose(fn)
TextBox1.Text = s
End Sub
Q3: vb.net 中2、8、10、16进制转换代码怎么写
Option Explicit
Dim Jz As Integer, K As Boolean
Private Sub Command1_Click()
Pic.Cls
If K Then Jz = Val(Qtjz.Text)
If Pd(Text1.Text, Jz) Then Pic.Print "选择vb.net2进制转化的进制与数不符": Exit Sub
If Jz = 0 Then Pic.Print "请先输入进制" Else Pic.Print Zh(Text1.Text, Jz)
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub Option1_Click(Index As Integer)
K = False
Select Case Index
Case 0
Jz = 2
Case 1
Jz = 8
Case 2
Jz = 10
Case 3
Jz = 16
Case 4
K = True
Qtjz.Text = ""
Qtjz.SetFocus
End Select
If Index 4 Then Command1.SetFocus
End Sub
Private Sub Qtjz_Click()
Qtjz.Text = ""
End Sub
Private Sub Text1_Click()
Text1.Text = ""
End Sub
Private Function Zh(a As String, b As Integer) As Integer
Dim c As String, i, d As Integer
a = LCase(a)
For i = 1 To Len(a)
c = Mid(a, Len(a) + 1 - i, 1)
If Asc(c) 96 Then d = Asc(c) - 87 Else d = Val(c)
Zh = Zh + d * b ^ (i - 1)
Next i
End Function
Private Function Pd(a As String, b As Integer) As Boolean
Dim c As String, i, d As Integer
Pd = False
For i = 1 To Len(a)
c = Mid(a, Len(a) + 1 - i, 1)
If Asc(c) 96 Then d = Asc(c) - 87 Else d = Val(c)
If d b - 1 Then Pd = True: Exit Function
Next i
End Function
Q4: 用VB怎么把二进制转化为十进制
VB把二进制转化为十进制vb.net2进制转化的方法vb.net2进制转化:
' 用途vb.net2进制转化:将二进制转化为十进制 ' 输入:Bin(二进制数) ' 输入数据类型:String
' 输出:BIN_to_DEC(十进制数) ' 输出数据类型:Long
' 输入vb.net2进制转化的最大数为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
比如输入:1010
输出就是:10
Q5: vb.net 图片转换二进制代码
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MyStream As New System.IO.MemoryStream
Me.PictureBox1.Image.Save(MyStream, System.Drawing.Imaging.ImageFormat.Jpeg)
Dim MyBytes(MyStream.Length) As Byte
MyStream.Read(MyBytes, 0, MyStream.Length)
MyStream.Close()
Dim strText As String
strText = BitConverter.ToString(MyBytes)
Me.TextBox1.Text = strText
End Sub
vb.net2进制转化的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vb二进制转换、vb.net2进制转化的信息别忘了在本站进行查找喔。





