Перевод целого числа из десятичной системы счисления в систему с другим основанием делается путем последовательного целочисленного деления числа на основание системы с запоминанием остатков. Практика показывает, что если надо сделать перевод десятичного числа в системы по основанию 16, 8 и 2, то наименьшие трудозатраты получаются, когда перевод начинают с шестнадцатиричной системы, поскольку количество делений получается минимальным. 600 / 16 = 37 и остаток 8. 37 / 16 = 2 и остаток 5 Выписываем числа в обратном порядке, получаем 258. Итак, 600 (10) = 258 (16). Для перехода к двоичной системе каждую цифру шестнадцатиричного числа записываем в виде 4х разрядного двоичного числа (тетрады): 258 (16) = 0010 0101 1000 (2) или просто 1001011000 (незначащие нули опускаем). Для перехода к восьмеричной системе разбиваем справа налево двоичный код на триады (т.е. по три двоичных разряда) и каждую триаду заменяем восьмеричной цифрой. 1001011000 (2) = 1 001 011 000 (2) = 1130 (8)
program zz1;
var x1, x2, y1, y2, d: real; //задаем переменные не целого типа
begin
write(' введите координаты точки а '); // вводим с клавиатуры координату х и координату у первой точки
read(x1, y1);
write('введите координаты точки b '); // вводим с клавиатуры координату х и координату у второй точки
read(x2, y2);
d:=sqrt(sqr(x1 - x2) + sqr(y1 - y2)); // находим длину отрезка по формуле
write(' длина отрезка ab = ', d:5:2); // выводим ответ в формате пять знаков для числа и два знака после точки
end.
600 / 16 = 37 и остаток 8.
37 / 16 = 2 и остаток 5
Выписываем числа в обратном порядке, получаем 258.
Итак, 600 (10) = 258 (16).
Для перехода к двоичной системе каждую цифру шестнадцатиричного числа записываем в виде 4х разрядного двоичного числа (тетрады):
258 (16) = 0010 0101 1000 (2) или просто 1001011000 (незначащие нули опускаем).
Для перехода к восьмеричной системе разбиваем справа налево двоичный код на триады (т.е. по три двоичных разряда) и каждую триаду заменяем восьмеричной цифрой.
1001011000 (2) = 1 001 011 000 (2) = 1130 (8)