Преобразования восьмеричных чисел
В восьмеричной системе счисления употребляются всего восемь цифр, т.е. эта система счисления имеет основание S =8. В общем виде восьмеричное число выглядит следующим образом: Ø Восьмеричная система счисления не нужна ЭВМ в отличие от двоичной системы. Она удобна как компактная форма записи чисел и используется программистами (например, в текстах программ для более краткой и удобной записи двоичных кодов команд, адресов и операндов). Ø Поскольку 8=23, то каждый восьмеричный символ можно представить трехбитовым двоичным числом. Для перевода числа из двоичной системы счисления в восьмеричную необходимо разбить это число влево (для целой части) и вправо (для дробной) от точки (запятой) на группы по три разряда (триады) и представить каждую группу цифрой в восьмеричной системе счисления. Крайние неполные триады дополняются необходимым количеством незначащих нулей. Преобразование восьмеричных чисел (продолжение). Пример 1: Двоичное число 10101011111101(2) записать в восьмеричной системе счисления: Пример 2: Двоичное число 1011.0101(2) записать в восьмеричной системе счисления. Перевод из восьмеричной системы счисления в двоичную систему осуществляется путем представления каждой цифры восьмеричного числа трехразрядным двоичным числом (триадой). Преобразование шестнадцатеричных чисел. Эта система счисления имеет основание S =16. В общем виде шестнадцатеричное число выглядит следующим образом: Шестнадцатеричная система счисления позволяет еще короче записывать многоразрядные двоичные числа и, кроме того, сокращать запись 4-разрядного двоичного числа, т.е. полубайта, поскольку 16=24. Шестнадцатеричная система так же применяется в текстах программ для более краткой и удобной записи двоичных чисел. Для перевода числа из двоичной системы счисления в шестнадцатеричную, необходимо разбить это число влево и вправо от точки на тетрады и представить каждую тетраду цифрой в шестнадцатеричной системе счисления.
Преобразование шестнадцатеричных чисел (продолжение). Пример 1: Двоичное число 10101011111101(2) записать в шестнадцатеричной системе: Пример: Двоичное число 11101.01111(2) записать в шестнадцатеричной системе: Выводы: 1) Перевод из одной системы счисления в другую произвольных чисел можно осуществлять по общим правилам. Однако на практике переводы чисел из десятичной системы в рассмотренные системы счисления и обратно осуществляются через двоичную систему счисления. 2) Шестнадцатеричные и восьмеричные числа - это только способ представления больших двоичных чисел, которыми фактически оперирует процессор. При этом шестнадцатеричная система оказывается предпочтительнее, поскольку в современных ЭВМ процессоры манипулируют словами длиной 4, 8, 16, 32 или 64 бита, т.е. длиной слов, кратной 4. В восьмеричной же системе счисления предпочтительны слова, кратные 3 битам, например, слова длиной 12 бит (как в PDP-8 фирмы DEC).
Выполнение операций в прямом, обратном и дополнительном кодах. Примеры. Правила выполнения арифметических действий над двоичными числами определяются арифметическими действиями над одноразрядными двоичными числами:
Правила выполнения арифметических действий во всех позиционных системах счисления аналогичны. Сложение. Сложим два числа в десятичном и двоичном представлении (формат - 1 байт). Операция получается громоздкая со многими переносами, но удобная для ЭВМ. Вычитание.
Умножение. Ø Как и в десятичной системе счисления, операция перемножения двоичных многоразрядных чисел производится путем образования частичных произведений и последующего их суммирования.
Ø Частичные произведения формируются в результате умножения множимого на каждый разряд множителя, начиная с МЗР. Каждое частичное произведение смещено относительно предыдущего на один разряд. Ø Поскольку умножение идет в двоичной системе счисления, каждое частичное произведение равно либо 0 (если в соответствующем разряде множителя стоит 0), либо является копией множимого, смещенного на соответствующее число разрядов влево (если в разряде множителя стоит 1). Поэтому умножение двоичных чисел идет путем сдвига и сложения. Ø Таким образом, количество частичных произведений определяется количеством единиц в множителе, а их сдвиг - положением единиц (МЗР частичного произведения совпадает с положением соответствующей единице в множителе). Положение точки в дробном числе определяется так же, как и при умножении десятичных чисел. Умножение (продолжение). Пример 1: Вычислить произведение 17(10) * 12(10) в двоичной форме.
Пример: Найдем произведение двух чисел X*Y=1101(2)*1011(2)=13(10)*11(10)= 143(10). Обозначим Pi - i-ое частичное произведение.
Умножение (продолжение).
Деление. Деление - операция, обратная умножению, поэтому при делении двоичных чисел, так же как и в десятичной системе счисления, операция вычитания повторяется до тех пор, пока уменьшаемое не станет меньше вычитаемого. Число этих повторений показывает, сколько раз вычитаемое укладывается в уменьшаемом. Деление (продолжение). Пример 1: Вычислить 204(10) /12(10) в двоичном коде. Таким образом, процедура деления не так проста для машинной реализации, как операция умножения, поскольку постоянно приходится выяснять, сколько раз делитель укладывается в определенном числе. В общем случае частное от деления получается дробным, причем выбор положения точки совершенно аналогичен тому, как это делается при операциях с десятичными числами. Для представления информации в компьютерах используются прямой, обратный и дополнительный двоичные коды. Двоичный код – код, алфавит которого ограничен двумя знаками {0,1}. При этом предполагается, что длина двоичного кода ограничена и что для представления знака числа выделен отдельный бит – знаковый разряд.
Прямой двоичный код – двоичный код, в котором знак представляется нулем для положительных чисел и единицей для отрицательных, а абсолютная величина изображается в двоичной позиционной системе (например, 310=00011ПК, -310=10011ПК). Обратный двоичный код (ОК) – двоичный код, который для положительных чисел совпадает с прямым двоичным кодом, а для отрицательных чисел получается из соответствующего прямого двоичного кода путем инвертирования каждого бита, кроме знакового разряда (например, 310=00011ОК, -310=11100ОК). Обратный код позволяет унифицировать сложение и вычитание. При этом, если при суммировании чисел в обратном коде длина результата превышает стандартную длину кода, то происходит циклический перенос старшего разряда в младший. ОК, в основном, используется для получения дополнительного кода. Дополнительный двоичный код – двоичный код, который для положительных чисел совпадает с прямым, а для отрицательных получается из обратного кода путем добавления к нему «1» (например, 310=00011ДК, -310=11101ДК). Преимущество дополнительного кода перед обратным кодом состоит в упрощении суммирования, так как отсутствует циклический перенос из старшего разряда в младший. Двоично-десятичный код – код, в котором десятичные цифры представляются их четырехразрядными двоичными эквивалентами (например, 3=0011, 9=1001). При двоично- десятичном представлении чисел байт разбивается на две тетрады (два четырехбитных набора), в каждую из которых помещается код десятичной цифры или знака числа. Двоично- десятичная система счисления применяется для удобства общения человека с компьютером.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|