Решаем задачи Абрамян на Паскале. String25

String25. Дана строка, изображающая десятичную запись целого положительного числа. Вывести строку, изображающую двоичную запись этого же числа.

Решение:

 

Другие задачи из раздела String можно посмотреть здесь.

Комментарии:

Комментарии 6

  • Еще один вариант — формально рабочий, но не самый красивый.

    <pre>

    program String25;

    var
    LineDec, LineBin : string;
    Counter, Error   : byte;
    Decimal          : integer;

    begin
    repeat
    write(‘Enter an integer: ‘);
    readln(LineDec);
    Val(LineDec, Decimal, Error);
    until (Error = 0);
    LineBin := »;
    while Decimal > 0 do
    begin
    LineBin := LineBin + chr((Decimal mod 2) + 48);
    Decimal := Decimal div 2;
    end;
    for Counter := Length(LineBin) downto 1 do
    write(LineBin[Counter]);
    writeln;
    end.

    </pre>

  •  

    • Мне не нравиться решение. Из за операции Val(LineDec, Decimal, Error);, на условие «строка, изображающая десятичную запись целого положительного числа.» Накладывается очень сильные ограничения по длине строки. Упирающиеся в диапазон типа integer. Что я считаю не правильно.
      Таким же образом можно было бы конвертировать строку в тип boolean и выводить 1 года true, и 0 когда false.

  • Дана строка, изображающая десятичную запись целого положительного числа. Вывести строку, изображающую двоичную запись этого же числа.
    Можно ли на языке java

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *