Смотри, для перевода из восьмеричной в десятичную надо это число представить в виде суммы произведения основания восьмеричной системы счисления на соответствующие цифры в разрядах восьмеричного числа:
К примеру, возьмем число 2357, нужно перевести в десятичную, в этом числе 4 цифры и 4 разряда (Разряды считаются, начиная с нулевого которому соответствует младший бит), в соответствии уже с известным правилом представим его в виде суммы степеней с основанием 8:
2357₈ = (2·8³)+(3·8²)+(5·8¹)+(7·8^0) = 2·512 + 3·64 + 5·8 + 7·1 = 1263₁₀
<em>Для вычислений "вручную" и решения примеров и контрольных заданий вам могут пригодиться таблицы степеней оснований изучаемых систем счисления (2, 8, 10, 16) </em>
F(11) = F(10) + F(9) = F(9) + F(8) + F(8) + F(7) = F(8) + F(7) + F(8) + F(8) + F(7) = 3F(8) + 2F(7)
7 = 3F(8) + 4 => F(8) = 1.
F(8) = F(7) + F(6) <=> F(6) = F(8) - F(7) = 1 - 2 = -1.
F(7) = F(6) + F(5) <=> F(5) = F(7) - F(6) = 2 - (-1) = 3.
F(6) = F(5) + F(4) <=> F(4) = F(6) - F(5) = -1 - 3 = -4.
F(5) = F(4) + F(3) <=> F(3) = F(5) - F(4) = 3 - (-4) = 7.
<em><u>Программа шифровки:</u></em>
DATA "ауоыэяюёие"
DATA "бвгджзклмнпрстфхцчшщ"
DATA "ъйь"
DIM s10 AS STRING, s20 AS STRING, s3 AS STRING
DIM i AS INTEGER
DIM s AS STRING, t AS STRING
CLS
READ s10, s20, s3
RANDOMIZE TIMER
INPUT "Введите фразу: ", s
t = ""
FOR i = 1 TO LEN(s)
t = t + MID$(s, i, 1)
t = t + MID$(s10, INT(10 * RND + 1), 1)
t = t + MID$(s20, INT(20 * RND + 1), 1)
t = t + MID$(s3, INT(3 * RND + 1), 1)
NEXT i
PRINT t
END
<em><u>Программа дешифровки:</u></em>
DIM s AS STRING, t AS STRING, <span>i AS INTEGER</span>
CLS
INPUT "Введите фразу: ", s
t = ""
FOR i = 1 TO LEN(s) STEP 4
t = t + MID$(s, i, 1)
NEXT i
PRINT t
END
7 бит, т.к. каждая буква и пробел считается как: 1 бит.
X = 9C, y = 238__________________________