1) Решение по простому. Шестнадцатиричная система это 4 бита на один знак. У нас двоичная запись 10001101. Всего 8 бит. Значит младшие 4 бита это младшее шестнадцатиричное число, а старшие 4 бита это старшее число. Смотрим на первые 4 бита 1101 это 1*+0*+1*+1*=1*1+0*2+1*4+1*8=1+4+8=13(в десятичной)=D (A-10, B-11, C-12, D-13 в 16-ричной).
Смотрим на старшую четверку битов 1000=0*+0*+0*+1*=0+0+0+8=8.
Пишем старшую цифре потом младшую 8D.
2)Теперь решение как нужно делать правильно (для любого основания). 10001101=1*+0*+1*+1*+0*+0*+0*+1*=1*1+0*2+1*4+1*8+0*16+0*32+0*64+1*128=1+4+8+128=141 (это перевели в десятичную). Затем переводим в нужную нам 16-ричную (это основание 16 значит будем делить на 16). 141/16= 8,8125. Мы получили целую часть от деления - цифра 8. Она у нас будет старшей (если при первом делении получилось число больше основания т.е.16 нужно его еще разделить). Умножим 8 на основание и вычтим это число из первоначального. 141-8*16=141-128=13. Мы получили младший разряд. Переводим 13 в 16-ричную (как показал ранее А-10 и т.д.). Получили ответ 8D
8D
Объяснение:
1) Решение по простому. Шестнадцатиричная система это 4 бита на один знак. У нас двоичная запись 10001101. Всего 8 бит. Значит младшие 4 бита это младшее шестнадцатиричное число, а старшие 4 бита это старшее число. Смотрим на первые 4 бита 1101 это 1*+0*+1*+1*=1*1+0*2+1*4+1*8=1+4+8=13(в десятичной)=D (A-10, B-11, C-12, D-13 в 16-ричной).
Смотрим на старшую четверку битов 1000=0*+0*+0*+1*=0+0+0+8=8.
Пишем старшую цифре потом младшую 8D.
2)Теперь решение как нужно делать правильно (для любого основания). 10001101=1*+0*+1*+1*+0*+0*+0*+1*=1*1+0*2+1*4+1*8+0*16+0*32+0*64+1*128=1+4+8+128=141 (это перевели в десятичную). Затем переводим в нужную нам 16-ричную (это основание 16 значит будем делить на 16). 141/16= 8,8125. Мы получили целую часть от деления - цифра 8. Она у нас будет старшей (если при первом делении получилось число больше основания т.е.16 нужно его еще разделить). Умножим 8 на основание и вычтим это число из первоначального. 141-8*16=141-128=13. Мы получили младший разряд. Переводим 13 в 16-ричную (как показал ранее А-10 и т.д.). Получили ответ 8D
program HomeWork;
var a,b,c,P,Pp,S,Ha,Hb,Hc:real;
begin
write('Введите стороны треугольника a, b и c (числа через пробел): '); readln(a,b,c);
P:=a+b+c;
Pp:=P/2;
Ha:=2*sqrt(abs(Pp*(Pp-a)*(Pp-b)*(Pp-c)))/a;
Hb:=2*sqrt(abs(Pp*(Pp-a)*(Pp-b)*(Pp-c)))/b;
Hc:=2*sqrt(abs(Pp*(Pp-a)*(Pp-b)*(Pp-c)))/c;
S:=Hc*c/2;
writeln('Параметры треугольника со сторонами a=', a:0:3, ', b=', b:0:3, ' и c=', c:0:3, ':');
writeln('Периметр: ', P:0:3);
writeln('Площадь: ', S:0:3);
if Pp-a >= 0 then writeln('Высота, опущенная на сторону a: ', Ha:0:3)
else writeln('Высота, опущенная на сторону a (находится вне треугольника): ', Ha:0:3);
if Pp-b >= 0 then writeln('Высота, опущенная на сторону b: ', Hb:0:3)
else writeln('Высота, опущенная на сторону b (находится вне треугольника): ', Hb:0:3);
if Pp-c >= 0 then writeln('Высота, опущенная на сторону c: ', Hc:0:3)
else writeln('Высота, опущенная на сторону c (находится вне треугольника): ', Hc:0:3)
end.