Разработайте правильный алгоритм, который преобразует текстовое представление двоичной строки в целое число, используя псевдокод - PullRequest
0 голосов
/ 25 января 2019

Здравствуйте, ребята, хотели бы помочь со следующим вопросом:

Вы должны разработать алгоритм для описания следующего:

  • Требуется функция, которая преобразует текстовое представление двоичного числа в целое число. Двоичное число может быть любой длины от одной (1) до восьми (8) цифр. Убедитесь, что текстовая строка содержит только 0 и 1.

Например:

Input            Output
101                5
1101001           105
10011R           Not a valid binary number

Вот то, что я до сих пор придумал в псевдокоде ... P.S, полный новичок

READ inputValue
    SET intValue = inputValue TO INTEGER
    SET n = 0
    WHILE n < 8 DO
       IF intValue = 1
          SET n = n + 1
           PRINT intValue
       ELSE IF intValue = 0
          PRINT intValue
          REPEAT 
          ELSE 
            PRINT Sorry we are not able to validate your input
          ENDIF
        ENDIF
    outValue = n.CALCULATE BINARY OUTPUT
    PRINT outValue

Хотел бы, чтобы кто-нибудь дал несколько советов, как ответить на этот вопрос

1 Ответ

0 голосов
/ 26 января 2019

Способ вычисления значения двоичного числа неверен.101 представляет 1 * 2 ^ 2 + 0 * 2 ^ 1 + 1 * 2 ^ 0 = 5.

Вот как вы можете прочитать и преобразовать один образец.

set n=0
set flag=valid
while read char into c and c not= end_of_line
  if c = '1'
    set n = 2*n+1
  else if c='0'
    set n=2*n
  else
    set flag=invalid
  endif
endwhile
if flag=invalid
   print Sorry we are not able to validate your input
else
   print n
endif
...