М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации

(распишите подробно) 1.перевести десятичное число 125,68 в двоичную, восьмеричную, девятеричную и шестнадцатеричную форму. 2.перевести число 111011,0011012 в десятичную, восьмеричную и шестнадцатеричную форму.

👇
Ответ:
Sofa2021
Sofa2021
10.11.2020
1. Переводим отдельно целую часть, отдельно - дробную. Целую часть переводим путем последовательного целочисленного деления с остатком на основание системы, в которую осуществляется перевод. Нам надо сделать перевод в системы счисления по основаниям 2, 8, 9 и 16, поэтому сначала выбираем 16 - это даст меньше всего операций деления.
125/16=7, остаток 13.
7 меньше 16, деление прекращаем. Записываем частное, а за ним остатки в обратном порядке (это общее правило, а в нашем случае остаток единственный). Получаем 7 13. Заменяем полученные десятичные числа шестнадцатиричными и получаем 7D.
Теперь переводим дробную часть. Тут надо производить последовательное умножение на основание системы и отбрасывать целые части, записывая их в качестве получаемых цифр числа. Повторяем до получения нулевой дробной части или прекращаем, если получено необходимое число цифр.
0.68х16=10.88, записываем 10, в 16й системе счисления это А
0.88х16=14.08, 14 ⇒ E
0.08x16=1.28, 1 ⇒ 1
0.28x16=4.48, 4 ⇒ 4
0.48x16=7.68, 7 ⇒ 7
0.68x16=10.88, 10 ⇒ E и все пошло по кругу.
Следовательно, дробная часть не может быть точно представлена в шестнадцатиричной системе счисления. Ограничимся двумя цифрами после запятой.
Результат перевода запишется так: 125.68(10)=7D.AE(16)

Переход к двоичной системе очень прост, поскольку шестнадцать - это два в четвертой степени. Поэтому каждую шестнадцатиричную цифру заменяем четырьмя двоичными цифрами (так называемой тетрАдой).
Получаем 7D.AE(16)=0111 1101.1010 1110(2)

Перевод из двоичной системы в восьмеричную тоже прост, поскольку восемь - это два в кубе. Разбиваем двоичное число на триАды (по три разряда) влево и вправо от десятичной точки и каждую триаду заменяем восьмеричной цифрой (они по написанию совпадают с десятичными). Если разрядов для триады не хватает, дополняем их нулями слева для целой части и справа для дробной.
001 111 101.101 011 100(2)=175.534(8)

Перейти от двоичной к девятиричной системе счисления мы подобный образом сделать не можем, поскольку девять не является степенью двойки. Придется поступать как при переходе к шестнадцатиричной системе: делить десятичное число на основание системы (9).
Снова отдельно переводим целую часть, отдельно - дробную.
125/9=13, остаток 8.
13/9=1, остаток 4
1 меньше 9, деление прекращаем. Записываем частное, а за ним остатки в обратном порядке: 148.
Теперь переводим дробную часть. Тут надо производить последовательное умножение на основание системы и отбрасывать целые части, записывая их в качестве получаемых цифр числа. Повторяем до получения нулевой дробной части или прекращаем, если получено необходимое число цифр.
0.68х9=6.12, записываем 6
0.12х9=1.08, записываем 1
0.08x9=0.72, записываем 0
0.72x9=6.48, записываем 6
0.48x9=4.32, записываем 4
0.32x9=2.88, записываем 2 и так далее...
В нашем случае дробная часть не может быть точно представлена в девятиричной системе счисления, ограничимся четырьмя цифрами после запятой.
Результат перевода запишется так: 125.68(10)=148.6106(9)

2. Перевод из двоичного представления в восьмеричное мы уже делали, поэтому объяснения тут не нужны. Разбиваем число на триады и получаем результат.
111 011.001 101(2) = 73.15(8)
В шестнадцатиричную систему перевод делается так же, только двоичное число надо разбивать не на триады, а на тетрады. С дополнением нулями, как и для восьмеричной системы.
0011 1011.0011 0100(2) = 3В.34(16)
Осталось сделать перевод в десятичную систему счисления. Конечно, его можно выполнять для любого основания, но лучше брать такое, где меньше всего ненулевых цифр. В двоичном представлении 8 единиц, в восьмеричном и шестнадцатиричном - по 4. Следовательно можно брать или восьмеричное число, или шестнадцатиричное. Допустим, выбрано шестнадцатиричное число. Записываем его в расширенной форме по степеням основания (т.е. 16 в нашем случае):
3B.34_{16}=3\times 16^1+11\times 16^0+3\times 16^{-1}+4\times 16^{-2}= \\ 3\times 16+11+\frac{3}{16}+\frac{4}{16^2}=48+11+ \frac{3}{16}+ \frac{4}{256}=59+\frac{3}{16}+\frac{1}{64}= \\ 59+\frac{3\times 4+1}{64}=59 \frac{13}{64}=59.203125_{10}
4,6(18 оценок)
Открыть все ответы
Ответ:
tolia24465
tolia24465
10.11.2020
Program chik;
var a:array[1..1000]of integer;
h,i,n,x:integer;
begin
read(n);
h:=0;
for i:=1 to n do
begin
read(a[i]);
end;
read(x);
for i:=1 to n do
begin
if(a[i]=x*x)then h:=h+1;
end;
write(h);
end.
2)
program chik2;
var a,h:integer;
begin
a:=5;
h:=0;
while a<>0 do
begin
read(a);
if(a<0)then h:=h+1;
end;
write(h);
end.
3)program chik3;
var a,h,s,p:real;
begin
a:=5;
h:=0;
while a<>0 do
begin
read(a);
s:=s+a;
h:=h+1;
end;
p:=s/h;
write(p);
end.
4)program chik4;
var n,j,i:longint;
begin
read(n);
for i:=1 to n do
begin
for j:=1 to i do
begin
write(j,' ');
end;
writeln;
end;
end.
 УДАЧИ!
4,6(86 оценок)
Ответ:
berezkina04
berezkina04
10.11.2020
1 Вариант (с процедурой)

program raf105;

var

 a,b: array of integer;

 i,x: integer;

procedure Divide7(x:integer; arr:array of integer);

begin

 arr[0]:= x div 1000000;

 arr[1]:= (x div 100000) mod 10;

 arr[2]:= (x div 10000) mod 10;

 arr[3]:= (x div 1000) mod 10;

 arr[4]:= (x div 100) mod 10;

 arr[5]:= (x div 10) mod 10;

 arr[6]:= x mod 10;

end;

begin

 SetLength(a,7);

 SetLength(b,7);

 writeln('Добро в игру "Лотерея"!');

 write('Введите семизначное число: ');

 readln(x);

 writeln;

 Divide7(x,a);

 x:= random(1000000,9999999);

 Divide7(x,b);

 write('Введённые числа:       ');

 for i:=0 to 6 do

   write(a[i],' ');

writeln;

 write('Сгенерированные числа: ');

   for i:=0 to 6 do

   write(b[i],' ');

end.

2 Вариант (без процедуры)

program raf105;

var

 a,b: array[1..7] of integer;

 i,x: integer;

begin

 writeln('Добро в игру "Лотерея"!');

 write('Введите семизначное число: ');

 readln(x);

 writeln;

 a[1]:= x div 1000000;

 a[2]:= (x div 100000) mod 10;

 a[3]:= (x div 10000) mod 10;

 a[4]:= (x div 1000) mod 10;

 a[5]:= (x div 100) mod 10;

 a[6]:= (x div 10) mod 10;

 a[7]:= x mod 10;

 x:= random(1000000,9999999);

 b[1]:= x div 1000000;

 b[2]:= (x div 100000) mod 10;

 b[3]:= (x div 10000) mod 10;

 b[4]:= (x div 1000) mod 10;

 b[5]:= (x div 100) mod 10;

 b[6]:= (x div 10) mod 10;

 write('Введённые числа:       ');

 for i:=1 to 7 do

   write(a[i],' ');

 writeln;

 write('Сгенерированные числа: ');

   for i:=1 to 7 do

   write(b[i],' ');

end.

PascalABC 3.4.2
4,4(73 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ