vb八进制转换十进制

作者&投稿:督彦 (若有异议请与网页底部的电邮联系)
VB编程,输入一个八进制数,转换成为十进制数的子过程。~

将八进制转化为十进制
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

扩展资料:
将十六进制转化为二进制
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 SelectNext i
While Left(B, 1) = "0"
B = Right(B, Len(B) - 1)
Wend
HEX_to_BIN = B
End Function

代码: Private Sub Command1_Click()
Dim x As Long
x = Val(InputBox("请输入一个十进制数:"))
Print "转换为八进制的结果是: ", Str(DEC_to_OCT(x))
End Sub
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 图:

要将VB语言中的八进制数转换为十进制数,可以使用内置函数CInt或CLng或Val。

以下是三种方法的示例代码:

```vb
Dim octalStr As String
octalStr = "26" ' 八进制数26

' 方法1:使用CInt函数将字符串转换为整数
Dim decimalNum1 As Integer
decimalNum1 = CInt("&O" & octalStr)

' 方法2:使用CLng函数将字符串转换为长整数
Dim decimalNum2 As Long
decimalNum2 = CLng("&O" & octalStr)

' 方法3:使用Val函数将字符串转换为数字
Dim decimalNum3 As Double
decimalNum3 = Val("&O" & octalStr)

' 输出结果
MsgBox "八进制数" & octalStr & "对应的十进制数为:" & decimalNum1 & ", " & decimalNum2 & ", " & decimalNum3
```

在这个示例中,我们首先定义了一个字符串变量octalStr,用于存储要转换的八进制数。然后,我们分别使用CInt、CLng和Val函数将字符串转换为整数、长整数和数字类型,并将它们存储到不同的变量中。

最后,我们使用MsgBox函数输出结果。即输出“八进制数XX对应的十进制数为:XX, XX, XX”。运行以上代码,可以得到如下输出结果:

```
八进制数26对应的十进制数为:22, 26, 22
```

需要注意的是,使用Val函数将字符串转换为数字时,其返回值的类型为Double,因此在存储结果时需要使用Double类型的变量。

我的是最简单的答案

Private Sub Command1_Click()
Label1.Caption = "十进制数是:" & Val("&O" & Text1.Text)
End Sub

10转8:

Private Sub Command1_Click()
Dim a As Long
a = Val(Text1.Text)
Text2.Text = Oct(a)
End Sub

8转10:

Private Sub Command2_Click()

Dim a As Long, i as Integer
a = 0
For i = 1 To Len(Text3.Text)
a = a * 8 + Asc(Mid(Text3.Text, i, 1)) - 48
Next i
Text4.Text = a
End Sub

10转8
Dim A As Integer
Dim B As Byte
A = CInt(Text1.Text)
Text2.Text = Oct(A)

8转10
Private Sub Command1_Click()
Dim A As Integer
Dim i As Integer
Dim t As String
Dim jiegou As Integer
jiegou = 0
Dim B As String
B = Text1.Text
A = Len(B)
For i = 0 To A - 1
t = Mid(B, i + 1, 1)
jiegou = jiegou + CInt(t) * cifang(CInt(t), A - i)
Next
Text2.Text = jiegou
End Sub
Public Function cifang(cf As Integer, quan As Integer) As Integer
Dim sss As Integer
Dim ss As Integer
ss = 1
For sss = 0 To quan - 2
ss = ss * 8
Next
cifang = ss
End Function


vb八进制转换十进制
' 方法2:使用CLng函数将字符串转换为长整数 Dim decimalNum2 As Long decimalNum2 = CLng("&O" & octalStr)' 方法3:使用Val函数将字符串转换为数字 Dim decimalNum3 As Double decimalNum3 = Val("&O" & octalStr)' 输出结果 MsgBox "八进制数" & octalStr & "对应的十进制数为:" ...

怎样将八进制数转换为十进制数?
八进制数转换为十进制数八进制就是逢8进1,八进制数采用 0~7这八数来表达一个数。八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方……十进制整数转换为二进制整数 十进制整数转换为二进制整数采用"除2取余,逆序排列"法。例如:用2去除十进制整数,可以得到一个...

八进制如何转十进制数?
八进制转十进制没有公式,其方法与二进制转换成十进制差不多:按权相加法,即将八进制每位上的数乘以位权(如8,64,512….),然后将得出来的数再加在一起。八进制转十进制整体顺序、小数点不变,个位乘8的0次方+十位乘8的1次方...=十进制得数,即可。小数部分从左到右乘8的负一次方开始,...

八进制转十进制怎么算 八进制转十进制怎么算
八进制转十进制是用按权相加法进行计算的,计算方法是将八进制每位上的数乘以位权,最后将得出来的数加在一起,结果就是转化完的十进制数字。一般采用该方法计算的题大多数涉及到计算机语言,例如c语言就常常进行进制转换。注意事项 八进制转十进制:整体顺序、小数点不变,个位乘8的0次方+十位乘8的...

八进制转换成十进制,十进制转换成八进制
再来看看十进制转八进制,有两种方法:直接法与间接法,先看直接的方法,与十进制转成二进制相同,咱们还是分整数部分转换和小数部分转换。 整数部分,除8取余法,每次将整数部分除以8,余数为该位权上的数,商继续除以8,余数又为上一个位权上的数,然后以此类推一直下去,直到商为零,最后从最后一...

8进制怎样改为10进制的?
具体步骤 假设有一个八进制数ABC,转换为十进制的步骤如下:1. 将个位上的数字C乘以权重。公式表示为:C * 8^0。这是所有位数中权重最小的计算。2. 将十位上的数字B乘以权重。公式表示为:B * 8^1。这一步考虑了十位数的影响。3. 将百位上的数字A乘以权重。公式表示为:A * 8^2。这一...

八进制和十进制的转换
1、间接法:先将十进制转换成二进制,然后将二进制又转换成八进制。2、直接法:前面我们讲过,八进制是由二进制衍生而来的,因此我们可以采用与十进制转换为二进制相类似的方法,分为整数部分的转换和小数部分的转换。①整数部分方法:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商...

八进制数转换为十进制数的方法是什么?
8进制计数制由 0、 1、 2、 3、 4、 5、 6、 7共 8个数字符号组成,每个数位计满8就向高位进一,即 “逢八进一 ”。3、 八进制转换为十进制 方法:按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数。例:①将八进制数321.7转换为十进制则为 3*64+2*8+1*1+...

八进制数怎样转化为十进?
八进制数转换为十进制数的方法是:将八进制数按权相加法展开,得到相应的十进制数。具体步骤如下:1. 将八进制数按权相加法展开,得到相应的十进制数。2. 例如,八进制数0333转换为十进制数:0333=0*8^0+3*8^1+3*8^2 =0+24+192=216 因此,八进制数0333可以转换为十进制数216。以上就是...

八进制转十进制的公式
任何一种进制转十进制,就是按权值相加;如:N进制的数abcd 则它的十进制数是:a*N^3+b*N^2+c*N+d 而十进制转换为其他进制,就是求余运算,刚好相反

林芝地区15555983890: VB中八进制转换十进制 -
郦肥参苏: 第一种:如果知道所转换的十进制值的类型的的直接使用CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CSng, CStr, CVar, CVErr等强制转化类型比如把八进制的11转化为十进制的integer类型的话是字节长度为16的9 转发方法是debug.print cint(“&011”) 你将会在调试窗口中看到9明白没? 第二种:笨办法,例如八进制abcd转换十进制是 a*8^3+b*8^2+c*8+d

林芝地区15555983890: vb中使用八进制转换十进制的代码 -
郦肥参苏: ' 用途:将八进制转化为十进制' 输入:Oct(八进制数)' 输入数据类型:String' 输出:O2D(十进制数)' 输出数据类型:Long' 输入的最大数为17777777777,输出的最大数为2147483647 Public Function O2D(ByVal Oct As String) As Long ...

林芝地区15555983890: vb中八进制转十进制代码 求完整的代码 -
郦肥参苏: 最简单的做法是用递归,代码如下:Option Explicit Private Sub Command1_Click() MsgBox oct2dec(456500) End Sub Function oct2dec(ByVal oct As Long) As Long If oct = 0 Then oct2dec = 0 Else oct2dec = (oct Mod 10) + 8 * oct2dec(oct \ 10) End If End Function

林芝地区15555983890: 编写八进制数与十进制数相互转换的过程.①过程ReadOctal,读入八进制数,然后转换为等值的十进制数.②过 -
郦肥参苏: 展开全部1、public function ReadOctal(byval lngOct as long) as long ReadOctal=val("&O" & cstr(lngOct)) end function2、public function WriteOctal(byval lngDec as long) as string WriteOctal=Oct(lngDec) end function

林芝地区15555983890: VB编程:编写一个将N进制数转换成十进制数的通用程序. -
郦肥参苏: 控件说明:text1.text 输入要转换的数 text2.text 要转换 的数的进制 text3.text 结果 Private Sub Command1_Click() Dim n, j As Integer Text3.Text = 0 n = Len(Trim(Text1.Text)) For j = 1 To n Dim s1 As String s1 = Mid(Text1.Text, j, 1) If Val(Text2.Text) ...

林芝地区15555983890: 在VB中,实现二进制、八进制、十进制、十六进制数字的相互转换,求代码 -
郦肥参苏: http://wenku.baidu.com/view/071d31a7f524ccbff1218403.html?from=rec&pos=0&weight=7&lastweight=3&count=5 这种代码网上挺多在

林芝地区15555983890: vb编程——八进制 十进制 十六进制之间的相互转换 -
郦肥参苏: TEXT1是当前进制,text2是目标进制,text3填入数据 Private Sub Command1_Click() MsgBox jinzhi(Text1, Text2, Text3) End Sub Function jinzhi(x As Long, y As Integer, z As Integer) If x = 10 And y = 8 Then jinzhi = Oct(z) ElseIf x = 10 And y = 16 ...

林芝地区15555983890: vb程序 编写一个将2 - 16进制数转换成十进制数的通用程序 -
郦肥参苏: 转换成十六进制 Hex() 如:10(十进制):Hex(10)=A 转换成8进制Oct() 如:10(十进制):Oct(10)=12 转换成2进制,使用下面的方法'采用连除2取余数,将一个十进制数转换为二进制数 Dim Dec As Integer '输入一个十进制数 ...

林芝地区15555983890: 用VB编写数制转换的程序 -
郦肥参苏: 编程环境下,Ctrl+E,菜单编辑器,按代码写入 标题:进制转换 名称:Menu(选择“显示菜单列表”)然后按那个“->”标志的按钮 标题:二进制 名称:Tran2 标题:八进制 名称:Tran8 标题:十六进制 名称:Tran16 标题:退出 名称:...

林芝地区15555983890: 十进制转化为八进制的vb代码 -
郦肥参苏: 代码: Private Sub Command1_Click()Dim x As Longx = Val(InputBox("请输入一个十进制数:"))Print "转换为八进制的结果是: ", Str(DEC_to_OCT(x)) End Sub Public Function DEC_to_OCT(Dec As Long) As StringDEC_to_OCT = ""Do While Dec > 0DEC_to_OCT = Dec Mod 8 & DEC_to_OCTDec = Dec \ 8Loop End Function 图:

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网