Прямойпереводмежду 16-, 8, и 4-нойсистемамисчисления
Глава 1
Информацияиеекодирование
Системысчисления
Системой счисления называется совокупность правил наименования и изображения чисел с помощью конечного набора символов, называемых цифрами.
Системы счисления бывают позиционные и непозиционные. Примером непозиционной системы является римская система, в которой существует базовый набор чисел:
I | V | X | L | С | D | М |
1 | 5 | 10 | 50 | 100 | 500 | 1000 |
Все остальные числа получаются в результате сложения или вычитания чисел базового набора по следующему правилу: если меньшая цифра стоит перед большей (слева от большей), то ее значение вычитается. Например, число MCMXCVII можно представить как
1000 - 100 + 1000 - 10 + 100 + 5 + 1 + 1 = 1997.
Классическая римская система позволяет составлять числа в диапазоне от 1 до 3999.
Система счисления называется позиционной, если значение цифры в записи числа зависит от позиции, которую она занимает в последовательности цифр, изображающей число. Например:
Основание системы счисления - количество цифр, используемых в записи числа. В таблице собраны примеры нескольких систем счисления с указанием их основания и алфавита.
Название системы | Основание | Используемые цифры |
Десятичная | 10 | 0,1,2,3,4,5,6,7,8,9 |
Двоичная | 2 | 0,1 |
Восьмеричная | 8 | 0,1,2,3,4,5,6,7 |
Шестнадцатеричная | 16 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С, D, E, F |
В следующей таблице приведены первые 17 чисел нескольких систем счисления-.
|
|
Основание |
|
| |||||||||||||||
|
|
|
| ||||||||||||||
«10» | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
«2» | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | • • • | ||||||||
«8» | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 |
«16» | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | А | В | С | D | Е | F | 10 |
Обратите внимание, что при последовательном счете, начиная с нуля, в любой системе счисления обязательно наступает момент, когда число обозначается как «10». Появление двух знаков в изображении числа означает, что кончились знаки алфавита данной системы счисления и приходится использовать комбинацию из двух цифр.
В общем случае имеет место равенство
q=10q
где q - основание позиционной системы счисления, а 10q (читается как «один, ноль») - способ обозначения, что число записано в q-ичной системе счисления. Например: 2 = 102, 8 = 108, 16 = I0I6.
Переводвдесятичнуюсистему
Любое число в десятичной системе счисления можно разложить по степеням
числа «10», то есть представить в виде:
4444 = 4 х 1000 + 4 х 100 + 4 х 10 + 4 х 1 =4 х 103 + 4 х 102 + 4 х 101 +4 х 10°
|
|
Число с дробной частью записывается по тем же правилам: 33,5 = 3х 101+Зх 10° + 5х 10-1
Аналогичное утверждение имеет место для чисел любой системы счисления.
Переводиздесятичнойсистемывдругиесистемысчисления
Принципы перехода от десятичной системы к другим позиционным системам рассмотрим на примере перевода в двоичную систему.
Для перевода чисел из десятичной системы в двоичную применяют метод последовательного деления целой части на 2, как показано на рисунке ниже. Пусть, например, требуется перевести число 157 из десятичной системы в двоичную. Деление продолжается до тех пор, пока в частном не окажется число, меньшее делителя. Результат записывается как обычно слева направо по правилу: начинаем с последнего частного, а за ним выписываем каждый остаток в порядке, указанном стрелкой. В нашем случае получится 100111002
Дробную часть числа, если таковая имеется, переводят по другому правилу. Пусть требуется перевести число 0,375 из десятичной системы в двоичную. Для этого дробная часть числа последовательно умножается на 2.
Справа от вертикальной черты записываются цифры дробной части, получаемые в процессе умножения. В нашем примере умножаем число 375 на 2 (в десятичной системе). Получим 750. Слева от черты ставим «0». Далее 750 Умножаем на 2. Получаем 1500. При этом справа от вертикально черты должно находиться ровно столько цифр, сколько их было в дробной части исходного числа. В нашем случае 3 цифры. 1 попадает в разряд единиц, поэтому окажется слева от черты.
|
|
Обратите внимание на то, что умножение проводится только с числом, стоящим справа от вертикальной черты. Таким образом, следующим действием будет 500 х 2 = 1000. При записи результата умножения единица окажется слева от черты, справа будут нули «000». Умножение закончено. Теперь осталось выписать ответ. В дробной части двоичного числа будут находиться цифры, оказавшиеся слева от черты в порядке, указанном стрелкой. То есть: 0,0112.
Бывают случаи, когда в результате умножения не получается конечной дроби. Тогда умножение проводят столько раз, сколько это требуется по условию задачи. Например: «дробную часть вычислять до пятого знака».
Для перевода десятичного числа в другие позиционные системы правила аналогичны: целую часть нужно последовательно делить на основание системы, в которую переводится число, а дробную часть умножать на это основание.
Пример 1:
Перевести число 2517,19 из десятичной системы в шестнадцатеричную. Дробную часть вычислять до пятого знака.
|
|
Решение.
1. Переводим целую часть методом деления. Последнее частное равно 9. Остатки 13 и 5. Записываем результат, помня о том, что число 13 в шестнадцатеричной системе записывается как «D». Получается: 9D5.
2. Переводим дробную часть.
Записываем результат, помня о том, что число 13 в шестнадцатеричной системе записывается как «D», а число 10 как «А». Получается: 0,30A3D16.
Ответ: 2517,1910= 9D5,30A3D16.
Прямойпереводмежду 16-, 8, и 4-нойсистемамисчисления
Существует взаимно-однозначное соответствие между цифрами, используемыми в четверичной, восьмеричной и шестнадцатеричной системах и числами двоичной системы. Это соответствие можно наглядно представить в виде таблицы.
В последней колонке представлено соответствие между цифрами четверичной системы и двоичными числами. Рассуждения таковы: в четверичной системе счисления используются 4 цифры: 0, 1, 2 и 3. Для того чтобы закодировать каждую цифру в этой системе потребуется 2 бита информации. Причем двоичные числа не только поставлены в соответствие четверичным цифрам, но и равны им по величине:
02 = 04; 12=14; 102 = 24;112 = 34
Получается, что каждый разряд четверичного числа может быть представлен в виде двухразрядного двоичного числа.
Аналогичными будут рассуждения для восьмеричных и шестнадцатеричных цифр. Такое взаимно однозначное соответствие позволяет легко переводить числа из двоичной системы в четверичную, восьмеричную и шестнадцатеричную и наоборот.
Пример 2:
Перевести число 5А2,4Е16 в двоичную систему.
Решение.Существует взаимно однозначное соответствие между шестнадцатеричными цифрами и числами двоичной системы. Каждая шестнадцатеричная цифра может быть представлена четырехразрядным двоичным числом, равным по величине этой цифре. Цифра 516 представляется как 01012. (В двоичном числе должно быть ровно 4 разряда! Поэтому, несмотря на то, что 516 = 1012, мы добавили к двоичному числу незначащий ноль. Получилось 01012. Это не повлияло на величину числа). Распишем по этому правилу каждый разряд исходного шестнадцатеричного числа:
5 | А | 2 | 4 | Е |
0101 | 1010 | 0010 | 0100 | 1110 |
В результате мы получили:
5А2,4Е16 = 010110100010,010011102.
Незначащие нули слева и справа можно отбросить.
Ответ: 5А2,4Е16 = 10110100010,01001112
Пример 3:
Перевести число 10010111010,10011012 в восьмеричную систему.
Решение.Существует взаимно однозначное соответствие между восьмеричными цифрами и числами двоичной системы. Каждая восьмеричная цифра может быть представлена трехразрядным двоичным числом, равным по величине этой цифре. То есть мы должны разбить исходное двоичное число на группы цифр по три в каждой. И здесь важно помнить, что разбиение должно проводиться от запятой в обе стороны. А если число целое, то справа. В нашей задаче получится так:
10010 111 010,100 110 12.
Как видите, слева и справа цифр не хватает до трех в группе. В этом случае надо добавить необходимое количество незначащих нулей слева и справа, что не изменит величины исходного двоичного числа. В итоге получим: 010 010 111 010, 100 110 1002. Теперь каждую «тройку» цифр представим соответствующей цифрой восьмеричной системы:
010 | 010 | 111 | 010, | 100 | 110 | 100 |
2 | 2 | 7 | 2, | 4 | 6 | 4 |
Ответ: 10010111010,10011012 = 2272,4648
Дата добавления: 2018-05-02; просмотров: 363; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!