Вопрос задан 25.02.2019 в 00:44. Предмет Информатика. Спрашивает Мукомел София.

Программа перевода двоичного числа 10101001011 в десятичную СС в Паскале АВС

0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Мирошниченко Саша.
//PascalABC.NET 3.1 сборка 1239
function BinToDec(bin: string): integer;
begin
    var n := 0;
    var p := 1;
    for var i := length(bin) downto 1 do
    begin
        n += p * StrToInt(bin[i]);
        p *= 2;
    end;
    Result := n;
end;

begin
    var s := ReadlnString('s =');
    writeln(BinToDec(s));
end.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для перевода двоичного числа 10101001011 в десятичную систему счисления в Pascal ABC, можно использовать следующий алгоритм:

1. Создайте переменную decimal и инициализируйте ее нулем. Эта переменная будет хранить результат перевода числа.

2. Создайте переменную power и инициализируйте ее нулем. Эта переменная будет использоваться для вычисления степени числа 2.

3. Создайте переменную binary и присвойте ей значение 10101001011. Это будет двоичное число, которое нужно перевести в десятичное.

4. Используя цикл, пройдитесь по каждой цифре двоичного числа, начиная с последней (со старшего разряда).

5. Внутри цикла умножьте текущую цифру двоичного числа на 2 в степени power и добавьте результат к переменной decimal.

6. Увеличьте значение переменной power на 1.

7. Повторяйте шаги 4-6 до тех пор, пока не пройдете по всем цифрам двоичного числа.

8. По окончании цикла, переменная decimal будет содержать результат перевода двоичного числа в десятичное.

Ниже приведен пример кода на Pascal ABC, реализующий описанный алгоритм:

```pascal program BinaryToDecimal; var decimal, power, binary, digit: integer; begin decimal := 0; power := 0; binary := 10101001011;

while binary > 0 do begin digit := binary mod 10; decimal := decimal + digit * power(2, power); binary := binary div 10; power := power + 1; end;

writeln('Decimal: ', decimal); end. ```

В данном примере используется цикл while для перебора цифр двоичного числа. Функция mod 10 позволяет получить последнюю цифру числа, а оператор div 10 позволяет удалить последнюю цифру числа. Функция power(2, power) используется для вычисления степени числа 2.

После выполнения программы будет выведено десятичное значение числа 10101001011, которое равно 2731.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос