Как перевести число из одной системы счисления в другую. - VB

Узнай цену своей работы

Формулировка задачи:

Добрый день! Помогите пожалуйста, нужно создать программку: TextBox1.Text - вводится любое число в любой СС (от двоичной до 16) TextBox2.Text - задается СС в которой ввели число TextBox3.Text - задается СС в которую нужно перевести введенной выше число (СС от 2 до 16) TextBox4.Text - выводится число в той СС, которая введена в TextBox3.Text Есть программа, но она не доделана. Не могу допереть как дальше Не переводит из 16-ричн. системы в любую другую и т.д. Помогите пожалуйста!
Листинг программы
  1. Dim a, b, c, d, n, h, m, k, s, x As Integer
  2. Private Sub CommandButton1_Click()
  3. s = Len(TextBox1.Text)
  4. a = Val(TextBox1.Text)
  5. b = Val(TextBox2.Text)
  6. c = Val(TextBox3.Text)
  7. d = Val(TextBox4.Text)
  8. TextBox5.Text = s
  9. k = 0
  10. h = a
  11. m = ""
  12.  
  13. If b = 10 Then
  14. While h > 0
  15. n = h Mod c
  16. If n > 10 Then
  17. If n = 10 Then n = "A"
  18. If n = 11 Then n = "B"
  19. If n = 12 Then n = "C"
  20. If n = 13 Then n = "D"
  21. If n = 14 Then n = "E"
  22. If n = 15 Then n = "F"
  23. End If
  24. m = n & m
  25. h = Int(h / c)
  26. k = k + 1
  27. Wend
  28. TextBox4.Text = m
  29. End If
  30. If c = 10 Then
  31. n = a
  32. m = 0
  33. While s > 0
  34. h = n Mod 10
  35. m = m + h * (b ^ k)
  36. k = k + 1
  37. s = s - 1
  38. n = Int(n / 10)
  39. Wend
  40. TextBox4.Text = m
  41. End If
  42. If b <> 10 Then
  43. If c <> 10 Then
  44. n = a
  45. g = s
  46. m = 0
  47. While g > 0
  48. h = n Mod 10
  49. m = m + h * (b ^ k)
  50. k = k + 1
  51. g = g - 1
  52. n = Int(n / 10)
  53. Wend
  54. TextBox7.Text = m
  55. h = m
  56. x = Str(m)
  57. g = Len(x)
  58. TextBox6.Text = g
  59. k = 0
  60. m = ""
  61. While h > 0
  62. n = h Mod c
  63. If n > 10 Then
  64. If n = 10 Then n = "A"
  65. If n = 11 Then n = "B"
  66. If n = 12 Then n = "C"
  67. If n = 13 Then n = "D"
  68. If n = 14 Then n = "E"
  69. If n = 15 Then n = "F"
  70. End If
  71. m = n & m
  72. h = Int(h / c)
  73. k = k + 1
  74. Wend
  75. TextBox4.Text = m
  76. End If
  77. End If
  78. End Sub

Решение задачи: «Как перевести число из одной системы счисления в другую.»

textual
Листинг программы
  1. Function LngToStr(ByVal Value As Long, Baza As Byte) As String
  2.  Dim M As Byte
  3.  Do
  4.    M = Value Mod Baza + 48
  5.    If M > 57 Then M = M + 7
  6.    Value = Value \ Baza
  7.    LngToStr = Chr$(M) & LngToStr
  8.  Loop While Value > 0
  9.  End Function
  10.  
  11.  Function StrToLng(Value As String, Baza As Byte) As Long
  12.  Dim M As Byte, I As Byte
  13.  For I = 1 To Len(Value)
  14.    M = Asc(Mid$(Value, I, 1)) - 48
  15.    If M > 9 Then M = M - 7
  16.    StrToLng = StrToLng * Baza + M
  17.  Next I
  18.  End Function
  19.  
  20. Private Sub CommandButton1_Click()
  21.   TextBox4=LngToStr(StrToLng(TextBox1.text, val(TextBox2.Text)), val(TextBox3.Text))
  22. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.429 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы