Читайте также:
|
|
Вспомогательные системы счисления используются для ввода и вывода информации, а также для перехода из одной системы счисления в другую. В качестве вспомогательных систем счисления применяются: десятичная, восьмеричная и шестнадцатеричная системы.
Исходная числовая информация и результаты решения представляются, как правило, в десятичной системе счисления. Программа часто кодируется в шестнадцатеричной системе счисления, имеющей компактную запись, и, вместе с тем, делающей простой перевод чисел в двоичную систему счисления.
Шестнадцатеричные цифры имеют 16 значений: от 0 до15; они записываются цифрами от 0 до 9, затем идёт буква А(обозначает число 10), буква В (обозначает11), и далее от С до F(со значениями от 12 до 15). Десятичные эквиваленты чисел представлены в таблице 1. Каждая шестнадцатеричная цифра соответствует комбинации четырёх двоичных, т.е. 4 битам (16=2^4). Любую шестнадцатеричную цифру можно записать с помощью двоичной тетрады: 1(16)=0001, 2(16)=0010, 3(16)=0011, …А(16)=1010….. F(16)= 1111
Если для записи программы применяется восьмеричная система, использующая для записи числа цифры от 0 до 7, каждой цифре соответствует 3 бита (8=2^3).
Использование двоичной системы счисления для ЭВМ связано с необходимость перевода вводимых в ЭВМ чисел в двоичную систему счисления и обратного преобразования числовых данных при выводе из ЭВМ. Эти преобразования осуществляются автоматически с использованием специально разработанных методов. Однако если потребуется ручной перевод при отладке программы, то его можно осуществить несколькими путями: для целых чисел, правильных дробей, произвольных чисел
(неправильных дробей).
Для перевода целых чисел и целых частей неправильных дробей используется метод, базирующийся на делении переводимого числа на основание новой системы счисления.
Рассмотрим порядок перевода целых десятичных чисел из одной системы счисления в другую:
1. Разделить данное число на основание новой системы счисления. Остаток от деления даёт младший разряд числа в новой системе счисления;
2. Если частное от деления больше или равно основанию системы счисления, продолжить деление в соответствии с пунктом 1. Второй остаток даёт второй разряд числа и т.д.
3. Такое последовательное деление необходимо продолжать до получения целого частного, которое будет меньше основания системы счисления. Это частное будет старшим разрядом числа в новой системе счисления.
ПРИМЕР 3:
Перевести число 49(10) в двоичную систему счисления.
49:2=24 1 в остатке; эту 1 пишем в младший разряд.
24:2=12 0 в остатке, пишем его во второй разряд.
12:2=6 0 в остатке, пишем его в третий разряд.
6:2=3 0 в остатке, пишем его в четвёртый разряд.
3:2=1 и 1 в остатке, пишем эту единицу в пятый разряд и частное от деления(3:2=1) пишем в шестой, старший разряд.
ОТВЕТ: 49(10)=110001(2)
ПРИМЕР 4: Перевести число 1237(10) в шестнадцатеричную систему.
Решение:
Частное остаток
1237:16= 77 5 остаток 5 запишем в младший разряд;
77:16= 4 13 остаток 13 (в шестнадцатеричной системе счисления это D пишем во второй разряд, а частное 4 (77:16=4) пишем в старший разряд.
ОТВЕТ: 1237(10)=4D5(16)
В последнем примере для перевода числа из десятичной системы в шестнадцатеричную систему счисления потребовалось произвести две операции. При переводе этого же числа в двоичную систему счисления потребовалось бы десять операций деления. Поэтому для ускорения перевода используют двухступенчатую схему перевода: 10 16 2.
Зависимость между числами шестнадцатеричной системы счисления и эквивалентными им двоичными тетрадами представлены в таблице 1. Рассмотрим перевод числа этим способом.
ПРИМЕР 5:
Перевести число 4D5(16) в двоичную систему счисления.
РЕШЕНИЕ: записываем каждую шестнадцатеричную цифру двоичными тетрадами, сохраняя при этом последовательность цифр шестнадцатеричного числа.
4D5
0100 1101 0101
ОТВЕТ: 4D5(16)=010011010101(2)
Для перевода двоичного числа в шестнадцатеричное необходимо разбить двоичное число на тетрады справа налево. Первую цифру двоичного числа при необходимости дополняют до тетрады нулями.
ПРИМЕР 6: перевести двоичное число 1011101110(2) в шестнадцатеричную систему счисления.
РЕШЕНИЕ: разобьём двоичное число на тетрады:
10 1110 1110 Неполную тетраду 10 дополни до четырёх знаков нулями (получим 0010). Таким образом, получим
0010 1110 1110 четырёхбитовые группы, тетрады. Из таблицы 1 знаем их шестнадцатеричные эквиваленты. Получим 2 Е Е
ОТВЕТ: 1011101110(2)=2ЕЕ(16)
Для перевода правильных дробей из системы счисления с основанием р1 в систему с основанием р2 используется метод, базирующийся на умножении переводимой правильной дроби на основание р2 новой системы счисления.
Рекомендуется следующая последовательность операций:
1. Умножить число на основание новой системы счисления;
2. В полученном произведении выделить целую часть. Она даст старший разряд дробной части нового искомого числа;
3. Дробную часть произведения снова умножить на основание новой системы счисления. Целая часть произведения даст следующий разряд нового числа и т.д.
При переводе правильных дробей точный перевод может потребовать значительного (иногда бесконечного) количества разрядов нового числа. Поэтому в большинстве случаев он осуществляется с определённой, заранее заданной точностью. Для этого в условии задачи указывается необходимое число разрядов нового числа, которое обеспечит точность представления числа в новой системе счисления примерно такую же, как и в исходной. В ЭВМ точность перевода обычно ограничивается длиной разрядной сетки, отведённой для представления чисел.
ПРИМЕР 7: Перевести число Х=0,2(10) в двоичную систему счисления с точностью до четырёх разрядов после запятой.
РЕШЕНИЕ:
Целая часть Старший разряд
0,2*2= 0, 4 0 0
0,4*2= 0,8 0, следующий разряд 0
0,8*2= 1,6 1, следующий разряд 1
0,6*2= 1,2 1, следующий разряд 1
ОТВЕТ: 0,2(10) = 0, 0011(2)
Для перевода неправильных дробей из одной системы в другую систему счисления необходим раздельный перевод целой и дробной частей по правилам, описанным выше. Полученные результаты записывают в виде новой дроби в системе с основанием р2.
ПРИМЕР 8: перевести десятичное число Х=49,2(10) в двоичную систему счисления с точностью до четырёх разрядов после запятой.
Решение: Результаты перевода соответственно целой и дробной частей возьмём из примеров 3 и 7
ОТВЕТ: Х=49,2(10) = 110001,0011(2)
В информатике и вычислительной технике разработано множество других методов перевода чисел из одной системы счисления в другую, позволяющих получить результат с меньшими затратами времени на преобразования.
Дата добавления: 2015-07-10; просмотров: 341 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Эквиваленты десятичных чисел в различных системах счисления. | | | КОМИССИИ ДЛЯ СТУДЕНТов Ю-500 |