§1. о системах счисления.
n4. развернутая форма записи числа
из курса вам известно, что цифры десятичной записи числа – это просто коэффициенты его представления в виде суммы степеней числа – основания системы счисления:
25076 = 2*10000 + 5*1000 + 0*100 + 7*10 + 6*1 = 2*104 +5*103 + 0*102 +7*101+6*100
при переводе чисел из десятичной системы счисления в римскую мы и воспользовались этим правилом (444 = 400 + 40 + 4; 2986 = 2000 + 900 + 80 + 6).
при записи чисел значение каждой цифры зависит от ее положения. место для цифры в числе называется разрядом, а количество цифр в числе разрядностью. на самом деле числа можно записывать как сумму степеней не только числа 10, но и любого другого натурального числа, большего 1.
определение. развернутой формой записи числа называется такая запись: а4а3а2а1а0 = а4*q4 + a3*q3 + a2*q2 + a1*q1 + a0*q0 , где а4,а3,а2,а1,а0 –цифры числа, q –основание степени.
пример1. получить развернутую форму числа 7512410.
решение:
а4 = 7, а3 = 5, а2 =1 ,а1 =2, а0 =4, q=10
4 3 2 1 0
75 12410 = 7*104 + 5*103 + 1*102 + 2*101 + 4*100.
пример2. получить развернутую форму числа 1123.
решение:
2 1 0
1123 = 1*32 + 1*31 +2*30
пример3. получить развернутую форму числа 176,218.
решение: 21 0-1-2а8=176, 218=1*82+7*81+6*80+2*8-1+1*8-2 для самостоятельной работы: 1. запишите в развернутом виде числа: а8=143511,62а2=100111а10=143,511а16=1а3,5с12. запишите в свернутой форме число: 9*101+1*100+5*10-1+3*10-2a*162+1*161+c*160+3*16-1254₁₆ = 2 · 16² + 5 · 16¹ + 4 · 16⁰ = 512 + 80 + 4 = 596₁₀
546.1₁₀ = 546.1₁₀
596 | 8 = 74 (4₄)
74 | 8 = 9 (2₃)
9 | 8 = 1₁ (1₂)
596₁₀ = 1124₈
Сначала переведём целую часть в восьмеричную систему счисления, а затем дробную:
546 | 8 = 68 (2₄)
68 | 8 = 8 (4₃)
8 | 8 = 1₁ (0₂)
546₁₀ = 1042₈
Умножаем дробную часть на 8 и записываем результат в виде:
цело_число.дробное_число
Если целое число делится на основание, то делим. А дробную часть всегда умножаем на основание и записываем в результат, как показано выше.
0. | 1 · 8 (0 / 8 = 0, 1 · 8 = 8)
0 | 8 · 8 (0 / 8 = 0, 8 · 8 = 64, поэтому 6 в целую, а 4 в дробную)
6 | 4 · 8 (6 / 8 = 8 (не делится целочисленно), 4 · 8 = 32, поэтому 3 в целую, а 2 в дробную)
3 | 2 (дальше можем не продолжать, всё зависит от точности, которая нам нужна)
Теперь собираем числа из левого блока сверху вниз:
0.063
И добавляем к 1042:
1042₈ + 0.063₈ = 1042.063₈
Результат1124₈ + 1042.063₈ = 2166.063₈
ответ2166.063₈
Begin
Write('x = ');ReadLn(x);
Write('y = ');ReadLn(y);
if 5*x*x+1=y then WriteLn('Да, может')
else WriteLn('Нет не может');
End.