1) 85.710=1010101.1011^2
Целая часть от деления Остаток от деления
85 div 2 = 42 85 mod 2 = 1
42 div 2 = 21 42 mod 2 = 0
21 div 2 = 10 21 mod 2 = 1
10 div 2 = 5 10 mod 2 = 0
5 div 2 = 2 5 mod 2 = 1
2 div 2 = 1 2 mod 2 = 0
1 div 2 = 0 1 mod 2 = 1
Остаток от деления записываем в обратном порядке. Получаем целую часть числа в 2-ой системе счисления: 1010101
85 = 1010101^2
Для перевода дробной части числа последовательно умножаем дробную часть на основание 2. В результате каждый раз записываем целую часть произведения.
0.71*2 = 1.42
(целая часть 1)
0.42*2 = 0.84
(целая часть 0)
0.84*2 = 1.68
(целая часть 1)
0.68*2 = 1.36
(целая часть 1)
1011
Получаем число в 2-ой системе счисления: 1011
0.71 = 0.1011^2
В итоге получаем число: 1010101.1011^2
ответ: 85.710=1010101.1011^2
2) 0.000111=0.07^8
Разделим исходный код целой части числа на группы по 3 разряда.
0^2 = 000^2
Затем заменяем каждую группу на код из таблицы.
Двоичная СС Восьмеричная СС
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
Получаем число:
000^2 = 0^8
Переводим дробную часть числа. Для этого разделим исходный код на группы по 3 разряда.
0001112 = 000 111^2
Затем заменяем каждую группу на код из таблицы.
Получаем число:
000 111 2 = 07^8
В итоге получаем число: 0.07^8
ответ: 0.000111=0.07^8
3) 309.880=0465.70243656^8
Перевод целых десятичных чисел в любую другую системы счисления осуществляется делением числа на основание новой системы счисления (в нашем случае это 8) до тех пор, пока в остатке не останется число меньшее основания новой системы счисления. Новое число записывается в виде остатков деления, начиная с последнего.
Целая часть от деления Остаток от деления
309 div 8 = 38 309 mod 8 = 5
38 div 8 = 4 38 mod 8 = 6
4 div 8 = 0 4 mod 8 = 4
0 div 8 = 0 0 mod 8 = 0
Остаток от деления записываем в обратном порядке. Получаем целую часть числа в 8-ой системе счисления: 0465
309 = 04658
Для перевода дробной части числа последовательно умножаем дробную часть на основание 8. В результате каждый раз записываем целую часть произведения.
0.88*8 = 7.04
(целая часть 7)
0.04*8 = 0.32
(целая часть 0)
0.32*8 = 2.56
(целая часть 2)
0.56*8 = 4.48
(целая часть 4)
0.48*8 = 3.84
(целая часть 3)
0.84*8 = 6.72
(целая часть 6)
0.72*8 = 5.76
(целая часть 5)
0.76*8 = 6.08
(целая часть 6)
70243656
Получаем число в 8-ой системе счисления: 70243656
0.88 = 0.70243656^8
В итоге получаем число: 0465.70243656^8
ответ: 309.880=0465.70243656^8
4) 0.101110=0.B8^16
Разделим исходный код целой части числа на группы по 4 разряда.
0^2 = 0000^2
Затем заменяем каждую группу на код из таблицы.
Двоичная СС Шестнадцатеричная СС
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F
Получаем число:
0000 ^2 = 0^16
Переводим дробную часть числа. Для этого разделим исходный код на группы по 4 разряда.
101110^2 = 1011 1000^2
Затем заменяем каждую группу на код из таблицы.
Получаем число:
1011 1000^2 = B8^16
В итоге получаем число: 0.B8^16
ответ: 0.101110=0.B8^16
5) 52.910=
Перевод целых десятичных чисел в любую другую системы счисления осуществляется делением числа на основание новой системы счисления (в нашем случае это 16) до тех пор, пока в остатке не останется число меньшее основания новой системы счисления. Новое число записывается в виде остатков деления, начиная с последнего.
Целая часть от деления Остаток от деления
52 div 16 = 3 52 mod 16 = 4
3 div 16 = 0 3 mod 16 = 3
0 div 16 = 0 0 mod 16 = 0
Остаток от деления записываем в обратном порядке. Получаем целую часть числа в 16-ой системе счисления: 034
52 = 034^16
Для перевода дробной части числа последовательно умножаем дробную часть на основание 16. В результате каждый раз записываем целую часть произведения.
0.91*16 = 14.56
(целая часть 14)
0.56*16 = 8.96
(целая часть 8)
0.96*16 = 15.36
(целая часть 15)
0.36*16 = 5.76
(целая часть 5)
0.76*16 = 12.16
(целая часть 12)
0.16*16 = 2.56
(целая часть 2)
0.56*16 = 8.96
(целая часть 8)
0.96*16 = 15.36
(целая часть 15)
E8F5C28F
Получаем число в 16-ой системе счисления: E8F5C28F
0.91 = 0.E8F5C28F16
В итоге получаем число: 034.E8F5C28F^16
ответ: 52.910=034.E8F5C28F^16
program Text;
uses
Windows;
var
s, r: String;
i, j, c: Integer;
begin
// SetConsoleCP(1251); // если русские буквы нормально не отображаются - попробуйте эти две команды
// SetConsoleOutputCP(1251);
WriteLn ('Введите строку: ');
ReadLn (s);
r := '';
c := 0;
for i := Length (s) downto 1 do begin
if s [i] <> ' ' then
r := r + s [i]
else
Inc (c);
end;
// WriteLn (r); // вывод промежуточного результата
Randomize;
for i := 1 to c do begin
j := Random (Length (r));
Insert (' ', r, j);
end;
WriteLn (r);
ReadLn;
end.
Поделитесь своими знаниями, ответьте на вопрос:
Написать программу на развилку на языке с++ 20
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double x, y;
cin >> x;
if(x < -1)
y = log(abs(tan(2 * x)));
else if(x > 2)
y = x * x - 3 + 2.5 * x *x *x;
else y = exp(sin(0.01 * x));
cout << y;
return 0;
}