vb6.0中如何把十进制整数转换为二进制整数,一及二进制整数到十进制的转换

来自:    更新日期:早些时候
VB程序设计:将十进制整数转换为其他进制~

您好,这样的:
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
Loop
End Function

十进制转八进制:
VB自带函数:Oct(num)

十进制转十六进制:
VB自带函数:hex(num)

转换成十六进制 Hex()
如:10(十进制):Hex(10)=A
转换成8进制Oct()
如:10(十进制):Oct(10)=12
转换成2进制,使用下面的方法
'采用连除2取余数,将一个十进制数转换为二进制数
Dim Dec As Integer '输入一个十进制数
Dim Bin As String '转换为二进制表示
Dim res As Integer
Dim i As Integer
Dec = Val(InputBox("x="))
Form1.Print "十进制数:"; Dec
Do
res = Dec Mod 2 '求出除以2的余数
Bin = res & Bin
Dec = Dec \ 2
Loop While Dec 0
Form1.Print "转换为二进制数为:"; Bin

Private Sub Command1_Click()
Print bin(Text1.Text)
End Sub

Function bin(n As Long) As String
Do Until n = 0
bin = (n Mod 2) & bin
n = n \ 2
Loop
End Function

十六进制:Hex(number)或使用&H前缀
八进制:Oct(number)或使用&O前缀

二、八、十六进制转为十进制:
参数sdate为要进行转换的数,stype为此数的类型。
如要将十六进制的"7b"转为十进制: msgbox OtherToShi("7b",16)

Private Function OtherToShi(ByVal Sdate As String, ByVal Stype As Long) As String
Dim A As String, K As Long, P As Long

If trim(sdate)="" then msgbox "请输入要转换的数!" :Exit function
On Error GoTo Exitsub
P = Len(Sdate)
Select Case Stype
Case 2
For K = 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 49 And A 102 Then GoTo Exitsub Next
Case Else '按你说的操作,此句好象可免
MsgBox "指定转换的类型不正确,请重新输入!": Exit Function End Select

K = 0
Do 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 = "13"
Case "e"
A = "14"
Case "f"
A = "15"
End Select
End If
OtherToShi = LTrim(Str(Val(OtherToShi) + Val(A) * Stype ^ (P - K)))
Loop

Exit Function
Exitsub:
MsgBox "要转化为" & Stype & "进制的数据不合法,请重新输入!"
End Function

'十进制转为二、八、十六进制:
'用法与上类似

Private Function ShiToOther(ByVal Sdate As String, ByVal Stype As Long) As String
Dim S As String

If trim(sdate)="" then msgbox "请输入要转换的数!" :Exit function
If IsNumeric(Sdate) = False Then GoTo Exitsub'要转换的对象非数值型,跳出不执行 On Error GoTo Exitsub
Sdate = Round(Val(Sdate)) '进行四舍五入
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"
End Select
End If

ShiToOther = S & ShiToOther
Sdate = Sdate \ Stype
Loop

Exit Function
Exitsub:
MsgBox "要转换的数据非十进制数据,请重新输入" End Function。

用途:将十进制转化为二 进 制
' 输入:Dec(十进制数)
' 输入数据类型:Long
' 输出:DEC_to_BIN(二 进 制数)
' 输出数据类型:String
' 输入的最大数为2147483647,输出最大数为1111111111111111111111111111111(31个1)
Public Function DEC_to_BIN(Byval 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

Private Sub Command1_Click()
Dim a As String
Dim b As Long 'b是你要转换的数
a = DEC_to_BIN(b)
End Sub

Private Sub Command1_Click()
Print Dec_to_Bin(3)
Print Bin_to_Dec("10")
End Sub
Public Function Dec_to_Bin(ByVal Dec As Long) As String '十进制to二进制
Dec_to_Bin = ""
Do While Dec > 0
    Dec_to_Bin = Dec Mod 2 & Dec_to_Bin
    Dec = Dec \ 2
Loop
End Function
Public Function Bin_to_Dec(ByVal Bin As String) As Long '二进制to十进制
Dim i As Long
For i = 1 To Len(Bin)
    Bin_to_Dec = Bin_to_Dec * 2 + Val(Mid$(Bin, i, 1))
Next
End Function


你是要编程吗?


vb6.0中如何把十进制整数转换为二进制整数,一及二进制整数到十进制的转换视频

相关评论:
  • 13394419431vb6.0中如何把十进制整数转换为二进制整数,一及二进制整数到十进制的...
    白郎沸Private Sub Command1_Click()Print Dec_to_Bin(3)Print Bin_to_Dec("10")End SubPublic Function Dec_to_Bin(ByVal Dec As Long) As String '十进制to二进制Dec_to_Bin = ""Do While Dec > 0 Dec_to_Bin = Dec Mod 2 & Dec_to_Bin Dec = Dec \\ 2LoopEnd FunctionPublic ...

  • 13394419431在VB6.0中怎么将一个字符串转化成十进制整数
    白郎沸Private Sub Command1_Click() Dim s As String s = "adcmfjghtue" Print s For i = 1 To Len(s) Print Asc(Mid(s, i, 1)); Next iEnd Sub

  • 13394419431VB6.0中的进制转换问题
    白郎沸VB自带函数:十进制转八进制:Oct(num)十六进制转八进制:oct("&H" & num)十进制转十六进制:hex(num)八进制转十六进制:hex("&O" & num)

  • 13394419431求VB6.0的函数列表
    白郎沸1、 Int(x):求不大于自变量x的最大整数 2、 Fix(x):去掉一个浮点数的小数部分,保留其整数部分 3、 Hex$(x):把一个十进制数转换为十六进制数 4、 Oct$(x):把一个十进制数转换为八进制数 5、 Asc(x$):返回字符串x$中第一个字符的ASCII字符 6、 CHR$(x):把x的值转换为相应的ASCII...

  • 13394419431十进制数1 至100的二进制表示?
    白郎沸十进制整数转二进制数:“除以2取余,逆序排列”(除二取余法)。[1]以十进制数11转换为二进制数为例:那么十进制数11转换为二进制数就是00001011。VB6.0可通过编辑一个自定义函数过程来求得十进制数0-255的二进制字符串。Funtion 过程,Visual Basic 包含内置的、或内部的函数,如 Sqr、Cos 、...

  • 13394419431vb6.0中如何将如原始数据为string型的(十六进制)"1D",转换成10进制30...
    白郎沸数据类型是byte 这根本不用转,将它直接转成字符串就是10进制了,另外办法是先读到一个int整数类型,再将这int转成字符串.看来你是搞错了,,,如果直是字符串类型的16进制符号,可以用ascii码判断是0..9和A..F,从右向左每进一位乘一次16,并累加,具体软件的书前几章节会说到进制转换的....

  • 13394419431求用VB6.0设计一个将十进制转二进制的程序。。。
    白郎沸Private Sub Command1_Click()r = Val(Text1.text)n = 0 Do ch = r Mod 2 & ch r = r \\ 2 Loop Until r = 0 Text2.text = ch End Sub 2个文本框 一个输入十进制 一个输出二进制 外加一个按钮控件

  • 13394419431VB6.0 急需!谢谢!!
    白郎沸加个COUNT=1 你0*后面这么多当然是0

  • 13394419431VB6.0 aa(0) = &H3F什么意思
    白郎沸将十六进制的 3F 就是十进制的63赋给aa(0) &H是十六进制符号

  • 13394419431vb6.0 十六进制转化成十进制的代码
    白郎沸clng("&H" & XXX)XXX为十六进制字符串。

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网