Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Перевод из 2-ой системы в 8-ю или 16-ю и обратно
Пожалуй, проще всего осуществляется перевод чисел из двоичной системы в системы с основанием, равным степеням двойки (8 или 16), и наоборот. Для того чтобы целое двоичное число записать в системе счисления с основанием 2n, нужно · данное двоичное число разбить на группы по n-цифр в каждой справа налево в целой части и слева-направо в дробной; · если в последней группе окажется меньше n разрядов, то дополнить ее нулями до нужного числа разрядов; · рассмотреть каждую группу, как n-разрядное двоичное число, и заменить ее соответствующей цифрой в системе счисления с основанием 2n.
Таблица перевода из двоичной системы в 16-ю и обратно
Часть таблицы, выделенная бирюзовым, может использоваться для перевода из 2-й системы в 8-ю и обратно. Примеры: 1) Переведем число 11101.001112 из двоичной системы в восьмеричную. Разбиваем двоичное число на тройки цифр: 11101.001112 = 011 101.001 1102 = 35.168 Заменяем каждую тройку двоичных цифр соответствующей 8-й цифрой (см. таблицу).
Для перевода числа из 8-й системы счисления в 2-ю нужно каждую 8-ю цифру заменить тройкой двоичных цифр (рассмотрите тот же пример справа-налево).
2) Переведем число 10000.1101112 в 16-ю систему. Разбиваем двоичное число на четверки цифр: 10000.1101112 = 0001 0000.1101 11002 = 10.DC16 Заменяем каждую четверку двоичных цифр соответствующей 16-й цифрой (см. таблицу). Для перевода числа из 16-й системы счисления в 2-ю нужно каждую 16-ю цифру заменить четверкой двоичных цифр (рассмотрите тот же пример справа-налево). Примеры двоичного кодирования информации
Среди всего разнообразия информации, обрабатываемой на компьютере, значительную часть составляют числовая, текстовая, графическая и аудиоинформация. Познакомимся с некоторыми способами кодирования этих типов информации в ЭВМ. Кодирование чисел
Существуют два основных формата представления чисел в памяти компьютера. Один из них используется для кодирования целых чисел, второй (так называемое представление числа в формате с плавающей точкой) используется для задания некоторого подмножества действительных чисел. Кодирование целых чисел Множество целых чисел, представимых в памяти ЭВМ, ограничено. Диапазон значений зависит от размера области памяти, используемой для размещения чисел. В k-разрядной ячейке может храниться 2k различных значений целых чисел. Целые числа могут занимать 1, 2, 4 или 8 байт (для 64-разрядных машин). Чтобы получить внутреннее представление целого положительного числа N, хранящегося в k-разрядном машинном слове, необходимо:
1. перевести число N в двоичную систему счисления; 2. полученный результат дополнить слева незначащими нулями до k разрядов. Код целого числа может рассматриваться как двоичное число со знаком или без знака. При беззнаковом представлении все разряды используются для записи значения числа. Пример: Число 107 = 11010112 будет записано: в 1 байт как 01101011 в 2 байта как 00000000 01101011 1-й байт 0-й байт в 4 байта как 00000000 00000000 00000000 01101011 3-й байт 2-й байт 1-й байт 0-й байт
Минимальное беззнаковое число равно 0. Максимальное беззнаковое число равно 2n – 1, где n – кол-во двоичных разрядов, используемых для записи числа. Например для 2-хбайтового представления max =11111111 111111112 =
Для записи чисел со знаком старший (левый) разряд отводится под знак числа. Если число неотрицательное, то в знаковый разряд записывается 0, в противном случае – 1, т.е. единица в знаковом разряде означает знак “минус”. Целые числа со знаком могут быть записаны в прямом, обратном и дополнительном коде. В прямом коде число хранится в виде: знак+абсолютное значение (модуль) числа. В обратном коде в значении числа нули заменяют на единицы, а единицы на нули. Дополнительный код получают путем прибавления 1 к обратному. Обратный и дополнительный код неотрицательных чисел совпадает с прямым. Обратный и дополнительный коды чисел позволяют заменить операцию вычитания сложением с отрицательным числом, что существенно упрощает устройство процессора. Варианты арифметических операций будут рассмотрены ниже. Пример. Рассмотрим внутреннее представление целого отрицательного числа: -6 = 1102. Однобайтовое: Прямой код: 1000 0110 Обратный код: 1111 1001 Дополнительный: 1111 1001 + 1 1111 1010 Четырехбайтовое: Прямой код: 10000000 00000000 00000000 00000110 Обратный код: 1111111 1111111 11111111 11111001 Дополнительный: 1111111 1111111 11111111 11111001 + 1 1111111 1111111 11111111 11111010
Для того, чтобы получить значение отрицательного числа, записанного в дополнительном коде, можно использовать один из двух алгоритмов: 1) вычесть 1 из дополнительного кода (получаем обратный код) и заменить все нули на единицы, а единицы на нули; 2) сначала заменить все нули на единицы, единицы на нули, затем прибавить единицу к результату. Пример: возьмем однобайтовый доп. код: 1111 1010 и используем второй алгоритм: 1111 1010 -- > - (0000 0101 + 1) = - 1102 = -6. Популярное:
|
Последнее изменение этой страницы: 2016-07-12; Просмотров: 515; Нарушение авторского права страницы