Тогда V•P= a-1+P-1•(a-2+…), откуда очевидно, что a-1=[V•P], Р-1•(a-2+...)={V•Р}, где [V•P] и {V•Р} обозначают целую и дробную части V•Р. Умножив {V•Р} на Р и взяв целую часть, получим а-2 и т.д. Например, при V=0.75, Р=3 получим
a-1=[0.75-3]=2, {0.75•3}=0.25, a-2=[0.25•3]=0, {0.25•3}=0.75 и т.д.
Таким образом, троичным представлением 0.75 будет бесконечная периодическая дробь (О.(20))3.
Имея действительное значение V, V<1, можно получить r первых цифр его Р-ичного представления, выполнив алгоритм:
For I := 1 to r do begin
V := V•P;
d := trunc ( V ) ;
по значению d построить Р-ичную цифру;
V:=V-trunc(V)
end.
1.1.3. “1+1 - 10, 5•8 = 28”
Если сложить 1 и 1, то получим 2. Но в двоичной системе 10, т.е. в двоичной системе 1+1=10. При сложении в столбик это означает сумму 0 и перенос 1 в следующий разряд. Сложим столбик 3 и 6 в двоичной системе:
11
110
1001
В десятичной системе 10+13=23. То же самое в 16-ричной системе выглядит как A+D=17. Вообще, складывая две или больше Р-ичных цифр, в результате получаем: (их сумма) modP
с переносом (их сумма) divP. Например, в 16-ричной системе:
9D
FАЕ
104В
(Нетрудно проверить, что при сложении в столбик D+E=1B, 1+9+А=14, 1+F=10.)
Все учатся в школе не только складывать, но и умножать. Если мы умножаем в столбик число в десятичной системе на число, записанное одной цифрой X, то вычисляем произведение очередной цифры числа и X. Остаток от деления этого произведения на 10 прибавляем к переносу от предыдущего разряда и получаем сумму S. Младшую цифру S, т.е. остаток от деления на 10, записываем в результат, а старшую, т.е. Sdiv 10, запоминаем как перенос. И так движемся от младшей цифры сомножителя к старшей. Знакомо, не так ли?
В Р-ичной системе происходит то же самое, только остатки берутся от деления не на 10, а на Р. Например, в 16-ричной системе 5x8 при делении на 16 дает остаток 8 и частное 2, т.е. 5•8=28.
В восьмеричной системе:
1234
7
11104
(4•7 при делении на 8 дает 4 в остатке и 3 в переносе, З•7+3 дает 0 и 3 и т.д.)
Умножение на число, у которого больше одной цифры, сводится к умножениям на отдельные цифры, записи результатов со сдвигом и сложению в столбик. Например, в восьмеричной системе:
77
123
275
176
77
12155
Аналогично в 16-ричной системе:
FE
20A
9EC
1FC
205EC
1.2. Внутреннее представление данных стандартных типов
1.2.1. Бит, байт и другие единицы измерения
В компьютере числа хранятся и обрабатываются в двоичной сиен счисления. Двоичная цифра 0 или 1 представляется состоянием элемента памяти, который считается неделимым и называется битом. Последовательность из 8 бит называется байтом. Байт свои состояниями представляет 28=256 комбинаций из 0 и 1, а именной
00000000
00000001
…………
11111110
11111111
Множеству этих комбинаций можно взаимно однозначно поставить в соответствие некоторые множества значений: целые числа от -128 до 127, числа от 0 до 255, пары 16-ричных цифр, символы от chr(0) до chr(255) или какие-то другие множества из 256 элементов
В двух соседних байтах представимы 28•28 = 65536 комбинаций из 0 и 1. Им взаимно однозначно соответствуют целые числа до 65535, числа от -32768 до 32767 или другие множества из 65536 элементов.
Аналогично четыре соседних байта отображают (28)4=4294967296 комбинаций из 0 и 1, которым сопоставляются числа от 0 до 4294967295, числа от -2147483648 до 2147483647 или другие множества из 4294967296 элементов.
Два байта образуют единицу памяти, которая называется словом. Иногда такое слово называется полусловом, а словом — последовательность из четырех байтов.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.