我试图让这个程序不仅转换正数,还转换为负数。根据这段代码,我可以修改什么,所以它也将负十进制数转换为octo?另外,如果我还想将非舍入数字转换为二进制数,我该怎么办?例如321.123到二进制。
Private Sub Conversion_Click()
Dim chiffreentrer As Integer
Dim reste As Integer
Dim reste2 As String
Dim chiffreocto As String
chiffreentrer = CInt(InputBox("Entrez un chiffre decimal:", "Conversion Decimal a Octo"))
Do While chiffreentrer >= 1
reste = chiffreentrer Mod 8
reste2 = CStr(reste)
chiffreentrer = chiffreentrer \ 8
chiffreocto = reste & chiffreocto
Loop
MsgBox "Le chiffre en octo est de : " & chiffreocto, , "Conversion Decimal a Octo"
End Sub
-
Public Function Division(Nombre As Integer)
i = 1
j = 1
Bla = ""
Nbinit = Nombre
reste = 0
ActiveSheet.Cells(i, 1) = Nombre
ActiveSheet.Cells(i, 2) = "÷2"
ActiveSheet.Cells(i, 2).HorizontalAlignment = xlRight
Do
reste = (Nombre - 2 * Int(Nombre / 2))
Nombre = Int(Nombre / 2)
Bla = reste & Bla
i = i + 1
ActiveSheet.Cells(i, 1) = Nombre
ActiveSheet.Cells(i, 2) = reste
Loop While (Nombre > 0)
MsgBox "Le nombre " & Nbinit & " est équivalent à " & Bla & " en binaire"
结束功能
答案 0 :(得分:1)
试试这个:
Private Sub Conversion_Click()
Dim chiffreentrer As Integer
Dim reste As Integer
Dim reste2 As String
Dim chiffreocto As String
chiffreentrer = CInt(InputBox("Entrez un chiffre decimal:", "Conversion Decimal a Octo"))
Do While chiffreentrer >= 1 Or chiffreentrer <= -1
reste = chiffreentrer Mod 8
reste2 = CStr(reste)
chiffreentrer = chiffreentrer \ 8
If Left(chiffreocto, 1) = "-" Then chiffreocto = Mid(chiffreocto, 2)
chiffreocto = reste & chiffreocto
Loop
MsgBox "Le chiffre en octo est de : " & chiffreocto, , "Conversion Decimal a Octo"
End Sub