Перевод из десятичной системы счисления в двоичную(целые,дробные) - Pascal
Формулировка задачи:
Всем доброго. Прошу помочь, нужна программа для перевода из десятичной (как целые так и дробные) системы счисления в двоичную. понимаю в этом мало... ибо чайник.... заранее спасибо
Решение задачи: «Перевод из десятичной системы счисления в двоичную(целые,дробные)»
textual
Листинг программы
program perevod; var s,y,i,k:integer; j,x:real; a:array[1..100] of integer; begin writeln('vvedit chuslo dlia perevoda'); readln(x); k:=0; y:=trunc(x); while y<>0 do begin s:=y mod 2; inc(k); a[k]:=s; y:=y div 2; end; j:=0; for i:=k downto 1 do j:=j*10+a[i]; writeln('chyslo ',x,' v dvijkovij : ',j:16:0); end.
Объяснение кода листинга программы
- Программа начинается с объявления переменных s, y, i, k типа integer и j, x типа real.
- Выводится сообщение
введите число для перевода
, и переменная x принимает значение, введенное пользователем. - Переменная k инициализируется нулем.
- Вычисляется целая часть числа x, и она сохраняется в переменной y.
- Запускается цикл while, который выполняется до тех пор, пока y не станет равным нулю.
- Внутри цикла переменная s инициализируется остатком от деления y на 2 (т.е. s будет либо 0, либо 1).
- Инкрементируется счетчик k.
- Значение y делится на 2 и сохраняется в переменной y.
- Цикл while повторяется, пока y не станет равным нулю.
- Переменная j инициализируется нулем.
- Для каждого значения i от k до 1 (включительно) вычисляется значение j как произведение 10 и a[i], и оно сохраняется в переменной j.
- Выводится сообщение
число
, x,в двоичной системе:
, j. - Цикл for повторяется, пока i уменьшается от k до 1.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д