Перевод из 16 ой в 2 ую. Системы счисления и перевод между ними. Арифметические операции с числами в формате с плавающей запятой

Системы счисления

Двоичная система счисления

8-ая система счисления

16-ая система счисления

Кодирование чисел 15

Кодирование целых чисел 16

Умножение и деление 21

Преимущества и недостатки 25

Двоичная система счисления

В двоичной (binary ) системе счисления всего две цифры, называемые двоичными (binary digits). Сокращение этого наименования привело к появлению термина бит , ставшего названием разряда двоичного числа. Веса разрядов в двоичной системе изменяются по степеням двойки. Поскольку вес каждого разряда умножается либо на 0, либо на 1, то в результате значение числа определяется как сумма соответствующих значений степеней двойки. Если какой-либо разряд двоичного числа равен 1, то он называется значащим разрядом. Запись числа в двоичном виде намного длиннее записи в десятичной системе счисления.

Арифметические действия, выполняемые в двоичной системе, подчиняются тем же правилам, что и в десятичной системе. Только в двоичной системе перенос единиц в старший разряд возникает чаще, чем в десятичной. Вот как выглядит таблица сложения в двоичной системе:

0 + 0 = 0 0 + 1 = 1

1 + 0 = 1 1 + 1 = 10 (перенос в старший разряд)

Таблица умножения для двоичных чисел еще проще:

0 * 0 = 0 0 * 1 = 0 1 * 0 = 0 1 * 1 = 1

Пример выполнения операции сложения в двоичной системе счисления:

1 1 1

1 0 1 1 2 Красным цветом показан перенос из младших разрядов в

1 1 0 2 старшие

1 0 0 0 1 2

Для проверки правильности выполнения операции переведем все три числа из двоичной системы в 10-ую:

1011 = 1*2 3 + 1*2 1 + 1 = 8 + 2 + 1 = 11 10

3 2 1 0

110 = 1*2 2 + 1*2 1 = 4 + 2 = 6 10

2 1 0

10001 = 1*2 4 + 1 = 16 + 1 = 17 10

4 3 2 1 0

Сумма первых двух чисел (11 и 6) равна третьему числу (17), следовательно операция выполнена верно.

Обратите внимание на то, что при добавлении к числу, состоящему из единиц (11…1), еще одной единицы, получается число, равное 1 с количеством нулей, равным количеству единиц исходного числа, например:

1111 1111 2 + 1 = 1 0000 0000 2 = 2 8

Пример выполнения операции вычитания в двоичной системе счисления:

Вычитание выполняется по тем же правилам, что и в 10-ой системе, но в 10-й системе при заеме единицы старшего разряда она превращается в 10 единиц младшего разряда, а в 2-й системе – в 2 единицы. Если нужно произвести заем не в соседнем разряде, а далее влево, то из каждых двух единиц текущего разряда одна остается в этом разряде, а вторая передается вправо. Сравните :

9 9 10 1 1 2

1 0 0 0 10 1 0 0 0 2

1 - 1

9 9 9 10 1 1 1 2

Выполним в 2-й системе счисление вычитание 17 10 – 6 10 :

0 1 1 2

1 0 0 0 1 2

1 1 0 2

1 0 1 1 2 = 11 10 Проверка показывает, что вычитание выполнено верно.

Если в двоичной системе счисления из числа, являющегося степенью двойки, вычесть 1, то получается число, состоящее из единиц, количество которых равно количеству нулей двоичного числа, например:

2 8 - 1 = 1 0000 0000 2 – 1 = 1111 1111 2

1023 = 1024 – 1 = 2 10 – 1 = 11 1111 1111 2

Пример выполнения операции умножения в двоичной системе счисления:

1 1 0 1 2 = 13 10

* 1 0 1 2 = 5 10

1 1 0 1

1 1 0 1

1 0 0 0 0 0 1 2 = 2 6 +1 = 64 +1 =65 10 (13 * 5 = 65)

6 5 4 3 2 1 0

Рассмотрим подробнее, как процессор выполняет умножение двоичных чисел. Пусть надо умножить число 1101 на 101 (оба числа в двоичной системе счисления). Машина делает это следующим образом: она берет число 1101 и, если первый справа элемент второго множителя равен 1, то она заносит его в сумму. Затем сдвигает число 1101 влево на одну позицию, получая тем самым 11010, и, если, второй элемент второго множителя равен единице, то добавляет его к сумме. Если элемент второго множителя равен нулю, то сумма не изменяется. Этот процесс сдвигов и сложений повторяется.

Пример выполнения операции деления в двоичной системе счисления:

Двоичное деление основано на методе, знакомом вам по десятичному делению, т. е. сводится к выполнению операций умножения и вычитания. Выполнение основной процедуры - выбор числа, кратного делителю и предназначенного для уменьшения делимого, здесь проще, так как таким числом могут быть только либо 0, либо сам делитель.

В качестве примера разделим 143 10 = 10001111 2 на 13 10 = 1101 2

1 0 0 0 1 1 1 1 1 1 0 1

1 1 0 1 1 0 1 1 2 = 11 10

1 0 0 1 1

1 1 0 1

1 1 0 1

1 1 0 1

Проверка показывает, что деление выполнено верно (143 / 13 = 11).

Умножение или деление двоичного числа на 2 приводит к перемещению запятой, отделяющей целую часть от дробной на один разряд соответственно вправо или влево:

1011 2 * 10 2 = 10110 2.

1011 2 / 10 2 = 101.1 2.

8-ая система счисления

При наладке аппаратных средств ЭВМ или создании новой программы возникает необходимость "заглянуть внутрь" памяти машины, чтобы оценить ее текущее состояние. Но там все заполнено длинными последовательностями нулей и единиц двоичных чисел. Эти последовательности очень неудобны для восприятия человеком, привыкшим к более короткой записи десятичных чисел. Кроме того, естественные возможности человеческого мышления не позволяют оценить быстро и точно величину числа, представленного, например, комбинацией из 16 нулей и единиц.

Для облегчения восприятия двоичного числа решили разбивать его на группы разрядов, например, по три или четыре разряда. Эта идея оказалась очень удачной, так как последовательность из трех бит имеет 8 комбинаций, а последовательность из 4 бит - 16. Числа 8 и 16 являются степенями двойки, поэтому легко находить соответствие с двоичными числами. Развивая эту идею, пришли к выводу, что группы разрядов можно закодировать, сократив при этом длину последовательности знаков. Для кодировки трех битов требуется восемь цифр, поэтому взяли цифры от 0 до 7 десятичной системы. Для кодировки же четырех битов необходимо шестнадцать знаков; для этого взяли 10 цифр десятичной системы и 6 букв латинского алфавита: A, B, C, D, E, F. Полученные системы, имеющие основания 8 и 16, назвали соответственно восьмеричной и шестнадцатеричной.

В восьмеричной (octal) системе счисления используются восемь различных цифр: 0, 1, 2, 3, 4, 5, 6, 7. Основание системы - 8. При записи отрицательных чисел перед последовательностью цифр ставят знак минус. Сложение, вычитание, умножение и деление чисел, представленных в восьмеричной системе, выполняются весьма просто, подобно тому, как это делают в общеизвестной десятичной системе счисления.

Пример выполнения операции сложения в восьмеричной системе счисления:

1 1 Красным цветом показан перенос из младших разрядов в старшие.

4 7 6

3 4 1) 6 + 4 = 10 = 1*8 + 2 = 12 8

5 3 2 2) 1 + 7 + 3 = 1*8 + 3 = 13 8

3) 1 + 4 = 5

Проверим результат путем перевода чисел в десятичную систему счисления:

476 8 = 4*8 2 + 7*8 + 6 = 318 318

34 8 = 3*8 + 4 = 28 + 28

532 = 5*8 2 + 3*8 + 2 = 346 346

Пример выполнения операции вычитания в восьмеричной системе счисления:

7 8 Красным цветом показан перенос из старших разрядов в младшие .

5 3 2 Выполнение операции в каждом разряде:

3 4 1) 8 + 2 – 4 = 6

4 7 6 2) 7 + 2 - 3 = 1 *8 + 3 = 13 8

3) 1 + 4 = 5

Пример выполнения операции умножения в восьмеричной системе счисления:

5 4 54 4*4 = 16 = 2 *8 + 0 = 20 8 (записываем 0)

* 3 4 * 4 2+ 5*4 = 22 = 2 *8 + 6 = 26 8

2 6 0 260

2 0 4

2 3 2 0 54 4*3 = 12 = 1 *8 + 4 = 14 8 (записываем 4)

* 3 1 + 5*3 = 16 = 2 *8 + 0 = 20 8

Выполним проверку :

54 8 = 5*8 + 4 = 44 10 44

34 8 = 3*8 + 4 = 28 10 * 28

2320 8 = 2*8 3 + 3*8 2 + 2*8 = 1232 10 352

88 = 1232 10

Пример выполнения операции деления в восьмеричной системе счисления:

2 3 2 0 8 5 4 8

2 0 4 3 4 8

2 6 0

2 6 0

Деление в восьмеричной системе близко делению в десятичной системе: нужно подобрать цифры частного. 232 делим на 54, в десятичной системе мы получили бы целое частное 4, но из предидущего примера мы знаем, что в восьмеричной системе 54*4 = 260, это много, попробуем взять цифру поменьше – 3, умножаем 54*3 = 204, эта цифра подходит, и т.д.

В различных языках программирования запись восьмеричных чисел начинается с 0, например, запись 011 означает десятичное число 9.

16-ая система счисления

В шестнадцатеричной (hexadecimal) системе счисления применяются десять цифр от 0 до 9 и шесть первых букв латинского алфавита:

10 – A 11 – B 12 – C 13 – D 14 – E 15 – F .

При записи отрицательных чисел слева от последовательности цифр ставят знак минус.

Для того чтобы при написании компьютерных программ отличить числа, записанные в шестнадцатеричной системе, от других, перед числом ставят 0x. То есть 0x11 и 11 - это разные числа.

Шестнадцатеричная система счисления широко используется при задании различных оттенков цвета при кодировании графической информации (модель RGB). Так, в редакторе гипертекста Netscape Composer можно задавать цвета для фона или текста как в десятичной, так и шестнадцатеричной системах счисления (см. рисунок).

Пример выполнения операции сложения в 16-ой системе счисления:

1 1 Красным цветом показан перенос из младших разрядов

A 7 B 16 Выполнение операции в каждом разряде:

C 8 16 B + 8 = 11 + 8 = 19 = 1*16 + 3 = 13 16 (записываем 3)

B 4 3 16 1 +7+С = 8+12 = 20 = 1*16 + 4 = 14 16 (записываем 4)

1 + A = B

Проверим резульат путем перевода чисел в 10-ю систему:

A7B 16 = 10*16 2 + 7*16 +11 = 2683

2 1 0 2683

C8 16 = 12*16 + 8 = 200 + 200

1 0 2883

B 43 16 = 11*16 2 + 4*16 +3 = 2883

2 1 0

Пример выполнения операции вычитания в 16-ой системе счисления:

15 16 Красным цветом показан заем из старших разрядов

B 4 3 16 Выполнение операции в каждом разряде:

A 7 B 16 16 + 3 – B = 19 -11 = 8

C 8 16 15 + 4 – 7 = 12 = C

B - 1 – A = 0

Умножение и деление в 16-ой системе обычно не выполняется ввиду сложности вычислений.

Перевод чисел из одной системы счисления в другую

Перевод числа из системы счисления с основанием q в 10-ю систему счисления выполняется путем вычисления значения многочлена по степеням q , коэффициенты которого равны цифрам числа.

Рассмотрим различные способы перевода чисел из одной системы счисления в другую на конкретных примерах.

Перевод из 2-ой системы в 10-ую

1 0 1 1 . 1 0 1 2 = 1*2 3 + 0*2 2 + 1*2 + 1*2 0 + 1*2 -1 + 0* 2 -2 + 1*2 -3 =

3 2 1 0 -1 -2 -3

8 + 2 + 1 + 0.5 + 0.125 = 11.625

Для того, чтобы быстро переводить числа из двоичной системы счисления в 10-ую, необходимо запомнить степени двойки: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 и т.д. Отрицательные степени двойки: .5, .25, .125, .0625, .03125 и т.д.

Перевод из 8-ой системы в 10-ую

6 3 2.4 5 8 = 6*8 2 + 3*8 + 2 + 4* 8 -1 + 5*8 -2 = 6*64 + 24 + 2 +4 /8 + 5/64 =

2 1 0 -1 -2

410.578125

Перевод из 16-ой системы в 10-ую

E 7 F.8 16 = 14*16 2 + 7*16 + 15 + 8/16 = 14*256 + 7*16 + 15 + .5 = 3711.5

2 1 0 -1

Перевод из 10-ой системы в 2-ую

Перевод из 10-ой системы целой и дробной частей выполняется по различным алгоритмам, поэтому будем рассматривать их отдельно.

Перевод целой части

Пусть требуется перевести число 567 из десятичной в двоичную систему. Сначала определим максимальную степень двойки, такую, чтобы два в этой степени было меньше или равно исходному числу. В нашем случае это 9, т. к. 2 9 =512, а 2 10 =1024, что больше начального числа. Таким образом, мы получим число разрядов результата. Оно равно 9+1=10. Поэтому результат будет иметь вид 1ххххххххх, где вместо х могут стоять любые двоичные цифры. Найдем вторую цифру результата. Возведем двойку в степень 9 и вычтем из исходного числа: 567-2 9 =55. Остаток сравним с числом 2 8 =256. Так как 55 меньше 256, то девятый разряд будет нулем, т. е. результат примет вид 10хххххххх. Рассмотрим восьмой разряд. Так как 2 7 =128>55, то и он будет нулевым.

Седьмой разряд также оказывается нулевым. Искомая двоичная запись числа принимает вид 1000хххххх. 2 5 =32<55, поэтому шестой разряд равен 1 (результат 10001ххххх). Для остатка 55-32=23 справедливо неравенство 2 4 = 16 < 23, что означает равенство единице пятого разряда. Действуя аналогично, получаем в результате число 1000110111. Мы разложили данное число по степеням двойки:

567=1*2 9 + 0*2 8 + 0*2 7 + 0*2 6 + 1*2 5 + 1*2 4 + 0*2 3 + 1*2 2 + 1*2 1 + 1*2 0

При другом способ e перевода чисел используется операция деления в столбик. Рассмотрим то же самое число 567. Разделив его на 2, получим частное 283 и остаток 1. Проведем ту же самую операцию с числом 283. Получим частное 141, остаток 1. Опять делим полученное частное на 2, и так до тех пор, пока частное не станет меньше делителя. Теперь для того, чтобы получить число в двоичной системе счисления, достаточно записать последнее частное, то есть 1, и приписать к нему в обратном порядке все полученные в процессе деления остатки.

Результат, естественно, не изменился: 567 в двоичной системе счисления записывается как 1000110111.

Поскольку делить на 2 несложно, этот процесс можно записать более компактно:

Частное | Остаток

567 | 1 567 = 1000110111 2

283 | 1

141 | 1

70 | 0

35 | 1

17 | 1

8 | 0

4 | 0

2 | 0

1 | 1

Перевод дробной части

Алгоритм перевода дробной части :

  1. последовательно умножать дробную часть на основание новой системы счисления, пока не получим нулевую дробную часть или не будет достигнута требуемая точность вычислений.
  2. Записать полученные целые части произведений в прямой последовательности

Примеры :

  1. перевести 0.65625 в 2-ю систему счисления.

Умножаем дробную часть на 2:

целая часть дробная часть

произведения произведения

65625

1 3125

0 625

1 25

0 .65625 = 0.10101 2

  1. перевести 0.1 в 2-ю систему счисления.

Умножаем дробную часть на 2:

целая часть дробная часть

произведения произведения

0 2 Умножаем только дробную часть!

0 4 С этого места процесс повторяется

. . .

  1. = 0. 0 0011 0011 0011 …

В результате перевода большинства десятичных чисел, имеющих дробную часть, получается число с бесконечной дробью, поэтому действительные (вещественные) числа в компьютере хранятся не точно!

Перевод из 10-ой системы в 8-ую

Перевод целой части

Алгоритм перевода из десятичной системы в систему счисления с основанием q путем деления и записи остатков в обратном порядке более удобен, поэтому для перевода числа в 8-ю и 16-ую системы мы будем использовать его.

Рассмотрим перевод числа 567 в систему счисления с основанием 8.

567 = 1067 8

Перевод дробной части

Переведем 0.65625 в 8-ю систему счисления.

Умножаем дробную часть на 8 :

целая часть дробная часть

произведения произведения

65625

5 25 Умножаем только дробную часть!

0 .65625 = 0. 52 8

Перевод из 10-ой системы в 16-ую

Перевод целой части

Делим число на 16 и записываем остатки в обратном порядке:

В шестнадцатеричной системе счисления необходимо заменить 10 на A , 11 на B и так далее.

Перевод дробной части

Переведем 0.65625 в 16-ю систему счисления.

Умножаем дробную часть на 16 :

целая часть дробная часть

произведения произведения

65625

10(A ) 5 Умножаем только дробную часть!

0.65625 = 0. A 8 16

Перевод из 2-ой системы в 8-ю или 16-ю и обратно

Пожалуй, проще всего осуществляется перевод чисел из двоичной системы в системы с основанием, равным степеням двойки (8 или 16), и наоборот. Для того чтобы целое двоичное число записать в системе счисления с основанием 2 n , нужно

  • данное двоичное число разбить на группы по n -цифр в каждой справа налево в целой части и слева-направо в дробной ;
  • если в последней группе окажется меньше n разрядов, то дополнить ее нулями до нужного числа разрядов;
  • рассмотреть каждую группу, как n -разрядное двоичное число, и заменить ее соответствующей цифрой в системе счисления с основанием 2 n .

Таблица перевода из двоичной системы в 16-ю и обратно

Десятичное значение

Двоичный код

Шестнадцате-ричная цифра

0 000

0 001

0 010

0 011

0 100

0 101

0 110

0 111

1000

1001

1010

1011

1100

1101

1101

1111

Часть таблицы, выделенная бирюзовым, может использоваться для перевода из 2-й системы в 8-ю и обратно.

Примеры:

  1. Переведем число 11101.00111 2 из двоичной системы в восьмеричную.

Разбиваем двоичное число на тройки цифр:

11101.00111 2 = 011 101.001 110 2 = 35.16 8

Заменяем каждую тройку двоичных цифр соответствующей 8-й цифрой (см. таблицу).

Для перевода числа из 8-й системы счисления в 2-ю нужно каждую 8-ю цифру заменить тройкой двоичных цифр (рассмотрите тот же пример справа-налево).

  1. Переведем число 10000.110111 2 в 16-ю систему.

Разбиваем двоичное число на четверки цифр:

10000.110 1 11 2 = 000 1 0000.110 1 11 00 2 = 10.DC 16

Заменяем каждую четверку двоичных цифр соответствующей 16-й цифрой (см. таблицу).

Для перевода числа из 16-й системы счисления в 2-ю нужно каждую 16-ю цифру заменить четверкой двоичных цифр (рассмотрите тот же пример справа-налево).

Примеры двоичного кодирования информации

Среди всего разнообразия информации, обрабатываемой на компьютере, значительную часть составляют числовая, текстовая, графическая и аудиоинформация. Познакомимся с некоторыми способами кодирования этих типов информации в ЭВМ.

Кодирование чисел

Существуют два основных формата представления чисел в памяти компьютера. Один из них используется для кодирования целых чисел, второй (так называемое представление числа в формате с плавающей точкой) используется для задания некоторого подмножества действительных чисел.

Кодирование целых чисел

Множество целых чисел, представимых в памяти ЭВМ, ограничено. Диапазон значений зависит от размера области памяти, используемой для размещения чисел. В k -разрядной ячейке может храниться 2 k различных значений целых чисел.

Целые числа могут занимать 1, 2, 4 или 8 байт (для 64-разрядных машин).

Чтобы получить внутреннее представление целого положительного числа N , хранящегося в k -разрядном машинном слове, необходимо:

1. перевести число N в двоичную систему счисления;

2. полученный результат дополнить слева незначащими нулями до k разрядов.

Код целого числа может рассматриваться как двоичное число со знаком или без знака.

При беззнаковом представлении все разряды используются для записи значения числа.

Пример:

Число 107 = 1101011 2 будет записано:

в 1 байт как 01101011

в 2 байта как 00000000 01101011

1-й байт 0-й байт

в 4 байта как 00000000 00000000 00000000 01101011

3-й байт 2-й байт 1-й байт 0-й байт

Минимальное беззнаковое число равно 0. Максимальное беззнаковое число равно 2 n – 1, где n – кол-во двоичных разрядов, используемых для записи числа.

Например для 2-хбайтового представления max =11111111 11111111 2 =
1 00000000 00000000 – 1 = 2
16 – 1 = 65 535

Для записи чисел со знаком старший (левый) разряд отводится под знак числа. Если число неотрицательное, то в знаковый разряд записывается 0, в противном случае – 1, т.е. единица в знаковом разряде означает знак “минус”.

Целые числа со знаком могут быть записаны в прямом, обратном и дополнительном коде.

В прямом коде число хранится в виде: знак+абсолютное значение (модуль) числа.

В обратном коде в значении числа нули заменяют на единицы, а единицы на нули.

Дополнительный код получают путем прибавления 1 к обратному.

Обратный и дополнительный код неотрицательных чисел совпадает с прямым.

Обратный и дополнительный коды чисел позволяют заменить операцию вычитания сложением с отрицательным числом, что существенно упрощает устройство процессора. Варианты арифметических операций будут рассмотрены ниже.

Пример . Рассмотрим внутреннее представление целого отрицательного числа: -6 = 110 2 .

Однобайтовое:

Прямой код: 1 000 0110

Обратный код: 1 111 1001

Дополнительный: 1 111 1001

1 111 1010

Четырехбайтовое :

Прямой код: 1 0000000 00000000 00000000 00000110

Обратный код: 1 111111 1111111 11111111 111 1 1001

Дополнительный: 1 111111 1111111 11111111 11111001

1 111111 1111111 11111111 11111010

Для того, чтобы получить значение отрицательного числа, записанного в дополнительном коде, можно использовать один из двух алгоритмов:

1) вычесть 1 из дополнительного кода (получаем обратный код) и заменить все нули на единицы, а единицы на нули;

2) сначала заменить все нули на единицы, единицы на нули, затем прибавить единицу к результату.

Пример: возьмем однобайтовый доп. код: 1111 1010 и используем второй алгоритм: 1111 1010 -- > - (0000 0101 + 1) = - 110 2 = -6.

Диапазон значений знаковых чисел

Рассмотрим однобайтовое представление. Возможные дополнительные коды знаковых чисел:

0111 1111

. . .

0000 0001

0000 0000

1111 1111

1111 1110 Отрицательные числа

. . .

1000 0000

Рассмотрим десятичные значения этих чисел:

0111 1111 = 2 7 – 1 = 128 - 1 = 127

0000 0001 = 1

0000 0000 = 0

1111 1111 -> -(000 0000 + 1) = -1

1111 1110 -> -(000 0001 + 1) = -2

1000 0000 -> -(111 1111 + 1) = -(1000 0000) = -2 7 = -128

Таким образом диапазон значений знаковых однобайтовых чисел:
от -128 до 127.

Аналогично, диапазон значений двухбайтовых целых чисел:
-2 15 - +(2 15 -1) (от -32768 до 32767 ).

Диапазон значений четырехбайтовых целых чисел со знаком:
-2 31 - +(2 31 – 1) (от -2 147 483 648 до 2 147 483 647 )

Сложение и вычитание целых чисел

В большинстве компьютеров операция вычитания не используется. Вместо нее производится сложение обратных или дополнительных кодов уменьшаемого и вычитаемого. Это позволяет существенно упростить конструкцию арифметико-логического устройства процессора.

Сложение обратных кодов . Здесь при сложении чисел А и В имеют место четыре основных и два особых случая:

1. А и В положительные . При суммировании складываются все разряды, включая разряд знака. Так как знаковые разряды положительных слагаемых равны нулю, разряд знака суммы тоже равен нулю. Например:

Получен правильный результат.

Например:

Получен правильный результат в обратном коде. При переводе в прямой код биты цифровой части результата инвертируются: 1 0000111 = –7 10 .

Например:

Компьютер исправляет полученный первоначально неправильный результат (6 вместо 7) переносом единицы из знакового разряда в младший разряд суммы.

4. А и В отрицательные. Например:

Полученный первоначально неправильный результат (обратный код числа –11 10 вместо обратного кода числа –10 10 ) компьютер исправляет переносом единицы из знакового разряда в младший разряд суммы. При переводе результата в прямой код биты цифровой части числа инвертируются: 1 0001010 = –10 10 .

Переполнение

При сложении может возникнуть ситуация, когда старшие разряды результата операции не помещаются в отведенной для него области памяти. Такая ситуация называется переполнением разрядной сетки формата числа. Для обнаружения переполнения и оповещения о возникшей ошибке в компьютере используются специальные средства. Ниже приведены два возможных случая переполнения.

5. А и В положительные, сумма А+В больше, либо равна 2 n–1 , где n — количество разрядов формата чисел (для однобайтового формата n=8, 2 n–1 = 2 7 = 128). Например:

Обратите внимание: в результате сложения положительных чисел получен отрицательный результат!

Семи разрядов цифровой части числового формата недостаточно для размещения восьмиразрядной суммы (162 10 = 10100010 2 ), поэтому старший разряд суммы оказывается в знаковом разряде. Это вызывает несовпадение знака суммы и знаков слагаемых , что является свидетельством переполнения разрядной сетки .

6. А и В отрицательные, сумма абсолютных величин А и В больше, либо равна 2 n–1 . Например:

В результате сложения отрицательных чисел получен результат > 0!

Здесь знак суммы тоже не совпадает со знаками слагаемых, что свидетельствует о переполнении разрядной сетки.

Сложение дополнительных кодов . Здесь также имеют место рассмотренные выше шесть случаев:

1. А и В положительные. Здесь нет отличий от случая 1, рассмотренного для обратного кода (коды неотрицательных чисел совпадают).

2. А положительное, B отрицательное и по абсолютной величине больше, чем А. Например:


Получен правильный результат в дополнительном коде. При переводе в прямой код биты цифровой части результата инвертируются и к младшему разряду прибавляется единица: 1 0000110 + 1 = 1 0000111 = –7
10 .

3. А положительное, B отрицательное и по абсолютной величине меньше, чем А. Например:

Получен правильный результат. Единицу переноса из знакового разряда компьютер отбрасывает .

4. А и В отрицательные. Например:

Получен правильный результат в дополнительном коде. Единицу переноса из знакового разряда компьютер отбрасывает .

Случаи переполнения

Для обнаружения переполнения разрядной сетки знаковый разряд дублируется . Такое представление чисел называется модифицированным дополнительным кодом:

1) 65 00 100 0001

+ 97 + 00 110 0001

162 01 010 0010

Разные цифры в знаковых разрядах свидетельствуют о том, что произошло переполнение.

2) -65 11 011 1111

+ -97 + 11 001 1111

-162 10 101 1110

Переполнение!

Для проверки знаковых разрядов используют результат операции “исключающее ИЛИ”, которая дает значение 1 только если операнды различны.

Сравнение рассмотренных форм кодирования целых чисел со знаком показывает:

на преобразование отрицательного числа в обратный код компьютер затрачивает меньше времени, чем на преобразование в дополнительный код, так как последнее состоит из двух шагов — образования обратного кода и прибавления единицы к его младшему разряду;

время выполнения сложения для дополнительных кодов чисел меньше, чем для их обратных кодов, потому что в таком сложении нет переноса единицы из знакового разряда в младший разряд результата, поэтому для ускорения выполнения расчетов используют дополнительный код .

Умножение и деление

Во многих компьютерах умножение производится как последовательность сложений и сдвигов. Для этого в АЛУ имеется регистр, называемый накапливающим сумматором, который до начала выполнения операции содержит число ноль. В процессе выполнения операции в нем поочередно размещаются множимое и результаты промежуточных сложений, а по завершении операции — окончательный результат.

Другой регистр АЛУ, участвующий в выполнении этой операции, вначале содержит множитель. Затем по мере выполнения сложений содержащееся в нем число уменьшается, пока не достигнет нулевого значения.

Для иллюстрации умножим 110011 2 на 101101 2 .

Деление для компьютера является трудной операцией. Обычно оно реализуется путем многократного прибавления к делимому дополнительного кода делителя.

Кодирование вещественных чисел

Формат с плавающей точкой использует представление вещественного числа R в виде произведения мантиссы m на основание системы счисления q в некоторой целой степени p , которую называют порядком: R = m * q p .

Представление числа в форме с плавающей точкой неоднозначно. Например, справедливы следующие равенства:

12.345 = 0.0012345 * 10 4 = 1234.5 * 10 -2 = 0.12345 * 10 2

Чаще всего в ЭВМ используют нормализованное представление числа в форме с плавающей точкой. Мантисса в таком представлении должна удовлетворять условию: 0.1 p <= m < 1. Иначе говоря, мантисса должна быть меньше 1 и первая значащая цифра - не ноль (p - основание системы счисления).

В памяти компьютера мантисса представляется как целое число, содержащее только значащие цифры (0 целых и запятая не хранятся), так для числа 12.345 в ячейке памяти, отведенной для хранения мантиссы, будет сохранено число 12345. Для однозначного восстановления исходного числа остается сохранить только его порядок, в данном примере - это 2.

Диапазон и точность представления чисел зависят от числа разрядов, отводимых под порядок и мантиссу. Обычно число в формате с плавающей запятой занимает в памяти 4 (float ) или 8 (double ) байтов.

В большинстве вычислительных машин для упрощения операций над порядками их приводят к целым положительным числам, применяя так называемый смещенный порядок . Для этого к истинному порядку добавляется целое положительное число, равное половине представимого диапазона порядков.

Числа с плавающей запятой в разных вычислительных машинах (ВМ) имеют различные форматы. В настоящее время для всех ВМ рекомендован стандарт, разработанный международным центром стандартизации IEEE (In stitute of Electrical and Electronics Engineers ).

Стандарт IEEE 754

Рекомендуемый для всех ВМ формат представления чисел с плавающей запятой определен стандартом IEEE 754. Этот стандарт был разработан с целью облегчить перенос программ с одного процессора на другие и нашел широкое применение практически во всех процессорах и арифметических сопроцессорах.

Рис. 2.24. Основные форматы IEEE 754: а — одинарный; б — двойной

Стандарт определяет 32-битовый (одинарный) и 64-битовый (двойной) форматы (рис. 2.24) с 8- и 11-разрядным порядком соответственно. Самый левый бит хранит знак числа. Основанием системы счисления является 2.

Смещение равно соответственно 127 и 1023.

Максимальный порядок, который может иметь число: 127 и 1023.

Для повышения точности представления мантиссы используют прием скрытой единицы: поскольку в нормализованной мантиссе старшая цифра всегда равна 1, ее можно не хранить. Следовательно, при 4-хбайтовом представлении, мантисса фактически состоит из 24 разрядов. Скрытая единица при выполнении арифметических операций восстанавливается, а при записи результата удаляется.

Пример: рассмотрим 4-хбайтовый код числа 20.5:

20.5 = 10100.1 2 = 0.101001 * 2 5

Порядок (смещенный): 5+127 = 132 = 1000 0100 2

Мантисса: 101001 010010…0 (первая единица – скрытая, в конец мантиссы добавляются нули).

4-хбайтовое представление:

0

1

0

0

0

0

1

0

0

0

1

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

порядок мантисса

В 16-ом виде этот код будет выглядеть так: 42240000.

Определим максимальное число и его точность при 4-хбайтовом представлении.

Максимальное число:

.1…1 * 2 127 = 1 * 2 127 = 1.7 * 10 38

Максимальное значение мантиссы:

1…1 (24 единицы) = 2 24 – 1 = 2 10*2.4 = 1024 2.4 = 1.7*10 7 , следовательно точность представления мантиссы 7-8 значащих цифр.

Арифметические операции с числами в формате с плавающей запятой

Сложение и вычитание

Производятся в несколько этапов:

  1. Выравниваются порядки чисел в сторону большего (чтобы не получить мантиссы > 1)
  2. Складываются мантиссы. Для представления отрицательных чисел используется модифицированный дополнительный код. Порядок суммы будет равен общему порядку слагаемых.
  3. Нормализуется результат: порядок и мантисса изменяются так, чтобы первая значащая цифра результата попала в первый разряд после запятой.

Пример 1: Вычесть из числа A = 20.0 число B = 11.0.

A = 20 = 10100 2 = .101 * 2 5 = .101 * 10 101 (все числа –двоичные)

B = 11 = 1011 2 = .1011 * 2 4 = .1011 * 10 100

A порядок числа B и получает 1. Т.к. порядок числа A на единицу больше порядка числа B , порядок числа B увеличивается на 1 и мантисса при этом сдвигается на 1 разряд вправо относительно точки:

B = .01011 * 10 101

Мантисса числа B должна быть записана как отрицательное число (нужно выполнить вычитание):

B = -010110…0 = 1| 101001…1 = 1 | 101010…0

Обратный код Дополнительный

Сложение мантисс в модифицированном дополнительном коде:

00| 1010 00…0 (число A )

+ 11| 1010 10…0 (число B )

1 | 00| 0100 10…0 (сумма, порядок = 101 2 )

Нормализация результата: мантисса сдвигается влево, порядок уменьшается: A - B = .1001* 10 100 = 1001 2 = 9.0

Пример 2: Сложить A = 5.0 и B = 28.0.

A = 5 = 101 2 = .101 * 2 5 = .101 * 10 11 (все числа –двоичные)

B = 28 = 11100 2 = .111 * 2 5 = .111 * 10 101

Процессор для определения разности порядков вычитает из порядка числа A порядок числа B и получает -2. Т.к. порядок числа A на 2 меньше порядка числа B , порядок числа A увеличивается на 2 и мантисса при этом сдвигается на 2 разряда вправо относительно точки:

A = .00101 * 10 101

Сложение мантисс в модифицированном коде:

00| 0010 10…0 (число A )

+ 00 | 1110 00…0 (число B )

01| 0000 10…0 (сумма, порядок = 101 2 )

Произошло нарушение нормализации.

Нормализация результата: мантисса сдвигается вправо, порядок увеличивается: A + B = .100001* 10 110 = 100001 2 = 33.0

При сложении и вычитании чисел с плавающей запятой при сложении мантисс переполнение не фиксируется. Переполнение может возникнуть в процессе нормализации, если порядок превысит максимально допустимый.

Умножение и деление

При умножении чисел в формате с плавающей запятой порядки складываются, а мантиссы перемножаются, затем результат нормализуется.

При делении из порядка делимого вычитается порядок делителя, а мантисса делимого делится на мантиссу делителя, затем результат нормализуется.

Двоично-десятичное кодирование информации

Двоично-десятичный код — (binary-coded decimal ) форма записи целых чисел, когда каждый десятичный разряд числа записывается в виде его четырёхбитного двоичного кода (вместо каждой десятичной цифры записывают ее двоичное значение) . Например, десятичное число 310 будет записано в двоичном коде как 100110110 2 , а в двоично-десятичном коде как 0011 0001 0000 BCD .

Преимущества и недостатки

Преимущества

  • Упрощён вывод чисел на индикацию — вместо последовательного деления на 10 требуется просто вывести на индикацию каждый полубайт. Аналогично, проще ввод данных с цифровой клавиатуры.
  • Для дробных чисел (как с фиксированной, так и с плавающей запятой) при переводе в человекочитаемый десятичный формат и наоборот не теряется точность.
  • Упрощены умножение и деление на 10, а также округление.

По этим причинам двоично-десятичный формат применяется в калькуляторах — калькулятор в простейших арифметических операциях должен выводить в точности такой же результат, какой подсчитает человек на бумаге.

Недостатки

  • Усложнены арифметические операции.
  • Требует больше памяти.
  • В двоично-десятичном коде BCD существуют запрещённые комбинации битов:

Запрещённые в BCD битовые комбинации:

1010 1011 1100 1101 1110 1111


Запрещённые комбинации возникают обычно в результате операций сложения, так как в BCD используются только 10 возможных комбинаций 4-х битового поля вместо 16. Поэтому, при сложении и вычитании чисел формата BCD действуют следующие правила:

  • При сложении двоично-десятичных чисел каждый раз, когда происходит перенос бита в старший полубайт, необходимо к полубайту, от которого произошёл перенос, добавить корректирующее значение 0110.
  • При сложении двоично-десятичных чисел каждый раз, когда встречается недопустимая для полубайта комбинация, необходимо к каждой недопустимой комбинации добавить корректирующее значение 0110 с разрешением переноса в старшие полубайты.
  • При вычитании двоично-десятичных чисел, для каждого полубайта, получившего заём из старшего полубайта, необходимо провести коррекцию, вычитая значение 0110.

Пример операции сложения двоично-десятичных чисел:

Требуется : Найти число A = D + C, где D = 3927, C = 4856

Решение : Представим числа D и C в двоично-десятичной форме: D = 3927 = 0011 1001 0010 0111 C = 4856 = 0100 1000 0101 0110

Суммируем числа D и С по правилам двоичной арифметики:


* **

0011 1001 0010 0111

+ 0100 1000 0101 0110

___________________

= 1000 0001 0111 1101 - Двоичная сумма

+ 0110 0110 - Коррекция

___________________

1000 0111 1000 0011

"*" — тетрада, из которой был перенос в старшую тетраду

"**" — тетрада с запрещённой комбинацией битов

В тетраду, помеченую символом *, добавляем шестёрку т.к по правилам двоичной арифметики перенос унёс с coбой 16, а по правилам десятичной арифметики должен был унести 10. В тетраду, помеченую символом ** , добавляем шестёрку, так как комбинация битов 1101 (что соответствует десятичному числу 13) является запрещённой.


Знак

При переводе чисел из 2-ой в 16-ую систему счисления надо число разбить на триады (по четыре разряда) и записать каждую триаду соответствующей ей цифрой шестнадцатеричной системы счисления, недостающее число разрядов надо дополнить слева нулями.

Примеры:

1001 1110 2 = 9E 16

0010 0010 2 = 22 16

Двоичная СС Шестнадцатеричная СС
A
B
C
D
E
F

Перевод числа из 16-ой в 2-ую с. с.

Как видно из таблицы, каждая цифра в 16-ой с.с. соответствует четверке цифр в 2-ой с.с. Поэтому при переводе каждая цифра в 16-ричной записи числа заменяется соответствующей ей четверкой в 2-ой записи. Например:

251 8 =10 101 001 2 ,

11.Понятия и операции формальной логики.(таблица истинности)

Основные понятия и операции алгебры логики Формальной логикой принято называть античную логику, основанную Аристотелем. Это название происходит от основного принципа логики как науки, который гласит, что правильность рассуждения (умозаключения) определяется только его логической формой. Формами мышления являются: понятие, суждение, умоза­ключение. Понятие - форма мышления, отражающая существенные свойства предмета или класса однородных предметов. Харак­теризуется содержанием и объемом. Содержание понятия - те признаки предмета, которые позволяют отличить предмет от всех остальных. Объем понятия - множество предметов, каждому из которых принадлежат эти признаки. Суждение - форма мышления, в которой что-либо утверждается или отрицается о наличии предмета, его свойствах и действиях. Характеризуется содержанием и формой. Содержанием суждения является его смысл. Форма - способ построения. Суждения бывают истинными и ложными. Умозаключение - форма мышления, в которой из одно­го или нескольких суждений на основании определенных правил вывода получается новое суждение (вывод, или за­ключение). Алгебра логики имеет приложения при синтезе релейно-контактных и электронных схем. В этой теории отвлекаются от содержания высказывания, а рассматривают только то его свойство, что оно представляет собой или истину, или ложь. Тогда высказывание можно рассматривать как величину, которая может принимать два значения: «истина» и «ложь». Высказывания обозначаются прописными латинскими буквами А, В, С, D ..., а их значения «Истина» или «Ложь» можно записывать как TRUE и FALSE, или Т и F, или 1 и 0, или И и Л. Примеры высказываний: «Луна - спутник Земли». «Все числа - целые».



Над высказываниями в алгебре логики определяются следующие основные логические операции:

Логическое отрицание (инверсия) - это логическая операция, применяемая к одному высказыванию. Высказыва­ние А есть высказывание, которое ложно, когда А истинно, и истинно, когда А ложно. Высказывание называется отрицанием А. Возможные обозначения отрицания: not А, не А.

Логическое умножение (конъюнкция) - это логическая операция, ставящая в соответствие каждым двум простым высказываниям составное высказывание, являющееся истинным тогда и только тогда, когда оба исходных высказывания истинны. Возможные обозначения конъюнкции: A И В, А & В, A AND В, А·В, А U В, АВ.

Логическое сложение (дизъюнкция) - это логическая операция, ставящая в соответствие каждым двум простым высказываниям составное высказывание, являющееся истинным тогда и только тогда, когда истинно хотя бы одно из высказываний. Возможные обозначения дизъюнкции: А ИЛИ В, A OR В, А + В, А || В.

Логическое следование (импликация) - это высказывание ложно тогда и только тогда, когда А истинно, а В ложно. Возможные обозначения импликации: А => В. -Эквивалентность - это высказывание истинно тогда и только тогда, когда А и В оба истинны или оба ложны. Возможные обозначения эквивалентности: А ~ В, А U В. Логические операции позволяют каждой формуле при за­данных значениях входящих в нее высказываний приписать одно из двух значений: 0 или 1.

Примеры решения задач на операции формальной логики.

В формальной длгике над высказываниями можно производить определенные логические операции. К таким логическим операциям относятся: логическое умножение (конъюнкция), логическое сложение (дизъюнкция), логическое отрицание (инверсия), логическое следование (импликация), логическое равенство (эквивалентность).

1. Операция, выражаемая связкой “и”, называется конъюнкцией (лат. conjunctio - соединение) или логическим умножением и обозначается знаком & (может также обозначаться знаками ^ или ). Высказывание А & В истинно тогда и только тогда, когда оба высказывания А и В истинны.

Пример: Высказывание “10 делится на 2 и 5 больше 3” истинно, а высказывания “10 делится на 2 и 5 не больше 3”, “10 не делится на 2 и 5 больше 3”, “10 не делится на 2 и 5 не больше 3” ложны.

2. Операция, выражаемая связкой “или” (в неразделительном, неисключающем смысле этого слова), называется дизъюнкцией (лат. disjunctio - разделение) или логическим сложением и обозначается знаком v (или плюсом). Высказывание А v В ложно тогда и только тогда, когда оба высказывания А и В ложны.

Пример: Высказывание “10 не делится на 2 или 5 не больше 3” ложно, а высказывания “10 делится на 2 или 5 больше 3”, “10 делится на 2 или 5 не больше 3”, “10 не делится на 2 или 5 больше 3” истинны.

3. Операция, выражаемая словом “не”, называется отрицанием и обозначается чертой над высказыванием. Высказывание A истинно, когда A ложно, и ложно, когда истинно.

Пример: «Луна - спутник Земли» (А истинно), «Луна - не спутник Земли» (А ложно).

4. Операция, выражаемая связками “если..., то”, “из... следует”, “... влечет...”, называется импликацией (лат. implico - тесно связаны) и обозначается знаком =>. Высказывание А => В ложно тогда и только тогда, когда А истинно, а В - ложно. Каким же образом импликация связывает два элементарных высказывания? Покажем это на примере высказываний: “данный четырёхугольник - квадрат” (А) и “около данного четырёхугольника можно описать окружность” (В). Рассмотрим составное высказывание А В, понимаемое как “если данный четырёхугольник квадрат, то около него можно описать окружность”. Есть три варианта, когда высказывание А =>В истинно: А истинно и В истинно, то есть данный четырёхугольник квадрат, и около него можно описать окружность; А ложно и В истинно, то есть данный четырёхугольник не является квадратом, но около него можно описать окружность (разумеется, это справедливо не для всякого четырёхугольника); A ложно и B ложно, то есть данный четырёхугольник не является квадратом, и около него нельзя описать окружность.

5. Операция, выражаемая связками “тогда и только тогда”, "необходимо и достаточно”, “... равносильно...”, называется эквивалентностью или двойной импликацией и обозначается знаком <=> или ~ . Высказывание А <=> В истинно тогда и только тогда, когда значения А и В совпадают.

Пример: высказывания “24 делится на 6 тогда и только тогда, когда 24 делится на 3”, “23 делится на 6 тогда и только тогда, когда 23 делится на 3” истинны, а высказывания “24 делится на 6 тогда и только тогда, когда 24 делится на 5”, “21 делится на 6 тогда и только тогда, когда 21 делится на 3” ложны.

Перевод чисел из двоичной сс в восьмеричную, шестнадцатеричную сс.

Цель: научиться переводить из двоичной сс в восьмеричную, шестнадцатеричную сс, минуя десятичную сс.

Задачи:

  1. составить алгоритм перевода из двоичной в восьмеричную
  2. составить алгоритм перевода из двоичной в шестнадцатеричную

План урока

  1. Актуализация знаний
  2. Теория
  3. Практика
  4. Контроль
  5. Рефлексия
  6. Оценивание

Конспект урока

1.Проверочная работа в течении 10 минут на раздатках

Ответы: А1 - 2; А2 – 2; А3 - 3; А4 – 4; В1 – 8-ная; В2 - САВ.

Перевести числа из одной системы счисления в другую

Теперь, поменяйтесь с соседом по парте листочком. На экране, вы видите правильные варианты ответов. Проверьте данный вам листочек. Выставьте оценки в соответствии со шкалой на экране.

2. Попробуйте ответить на вопрос “Можно ли переводить из двоичной системы счисления в восьмеричную, шестнадцатеричную системы счисления, минуя десятичную?”

Варианты ответов: Да можно/ Нет нельзя.

Перевод чисел между системами счисления, основания которых являются степенями числа 2 (q = 2 n ), может производиться по более простым алгоритмам. Такие алгоритмы могут применяться для перевода чисел между двоичной (q = 2 1 ), восьмеричной (q = 2 3 ) и шестнадцатеричной (q = 2 4 ) системами счисления.

Перевод чисел из двоичной системы счисления в восьмеричную. Для записи двоичных чисел используются две цифры, то есть в каждом разряде числа возможны 2 варианта записи. Решаем показательное уравнение:

2 = 2 i . Так как 2 = 2 1 , то i = 1 бит.

Каждый разряд двоичного числа содержит 1 бит информации.

Для записи восьмеричных чисел используются восемь цифр, то есть в каждом разряде числа возможны 8 вариантов записи. Решаем показательное уравнение:

8 = 2 i . Так как 8 = 2 3 , то i = 3 бита.

Каждый разряд восьмеричного числа содержит 3 бита информации.

Таким образом, для перевода целого двоичного числа в восьмеричное его нужно разбить на группы по три цифры, справа налево, а затем преобразовать каждую группу в восьмеричную цифру. Если в последней, левой, группе окажется меньше трех цифр, то необходимо ее дополнить слева нулями.

Переведем таким способом двоичное число 101001 2 в восьмеричное:

101 001 2 => 1 × 2 2 + 0 × 2 1 + 1 × 2 0 0 × 2 2 + 0 × 2 1 + 1 × 2 0 => 51 8 .

Для упрощения перевода можно заранее подготовить таблицу преобразования двоичных триад (групп по 3 цифры) в восьмеричные цифры:

Двоичные триады

Восьмеричные цифры

Для перевода дробного двоичного числа (правильной дроби) в восьмеричное необходимо разбить его на триады слева направо и, если в последней, правой, группе окажется меньше трех цифр, дополнить ее справа нулями. Далее необходимо триады заменить на восьмеричные числа.

Например, преобразуем дробное двоичное число А 2 = 0,110101 2 в восьмеричную систему счисления:

Двоичные триады

Восьмеричные цифры

Получаем: А 8 = 0,65 8 .

Перевод чисел из двоичной системы счисления в шестнадцатеричную. Для записи шестнадцатеричных чисел используются шестнадцать цифр, то есть в каждом разряде числа возможны 16 вариантов записи. Решаем показательное уравнение:

16 = 2 i . Так как 16 = 2 4 , то i = 4 бита.

Каждый разряд шестнадцатеричного числа содержит 4 бита информации.

Таким образом, для перевода целого двоичного числа в шестнадцатеричное его нужно разбить на группы по четыре цифры (тетрады), начиная справа, и, если в последней левой группе окажется меньше четырех цифр, дополнить ее слева нулями. Для перевода дробного двоичного числа (правильной дроби) в шестнадцатеричное необходимо разбить его на тетрады слева направо и, если в последней правой группе окажется меньше четырех цифр, то необходимо дополнить ее справа нулями.

Затем надо преобразовать каждую группу в шестнадцате-ричную цифру, воспользовавшись для этого предварительно составленной таблицей соответствия двоичных тетрад и шестнадцатеричных цифр.

Переведем целое двоичное число А 2 = 101001 2 в шестнадцатеричное:

Двоичные тетрады

0010

1001

Шестнадцатеричные цифры

В результате имеем: А 16 = 29 16 .

Переведем дробное двоичное число А 2 =0,110101 2 в шестнадцатеричную систему счисления:

Двоичные тетрады

1101

0100

Шестнадцатеричные цифры

Получаем: А 16 = 0,D4 16 .

Для того чтобы преобразовать любое двоичное число в восьмеричную или шестнадцатеричную системы счисления, необходимо произвести преобразования по рассмотренным выше алгоритмам отдельно для его целой и дробной частей.

Перевод чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную. Для перевода чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную необходимо цифры числа преобразовать в группы двоичных цифр. Для перевода из восьмеричной системы в двоичную каждую цифру числа надо преобразовать в группу из трех двоичных цифр (триаду), а при преобразовании шестнадцатеричного числа - в группу из четырех цифр (тетраду).

Например, преобразуем дробное восьмеричное число А 8 = 0,47 8

Восьмеричные цифры

Двоичные триады

Получаем: А 2 = 0,100111 2 .

Переведем целое шестнадцатеричное число А 16 = АВ 16 в двоичную систему счисления:

Шестнадцатеричные цифры

Двоичные тетрады

1010

1011

В результате имеем: А 2 = 10101011 2

3. 3адания

1.17. Перевести в восьмеричную и шестнадцатеричную системы счисления следующие целые числа: 1111 2 , 1010101 2 .

1.18. Перевести в восьмеричную и шестнадцатеричную системы счисления следующие дробные числа: 0,01111 2 , 0,10101011 2 .

1.19. Перевести в восьмеричную и шестнадцатеричную системы счисления следующие числа: 11,01 2 , 110,101 2 .

1.20. Перевести в двоичную систему счисления следующие числа: 46,27 8 , ЕF,12 16 .

1.21. Сравнить числа, выраженные в различных системах счисления: 1101 2 и D 16 ; 0,11111 2 и 0,22 8 ; 35,63 8 и 16,С 16 .

Литература

http://www.5byte.ru/11/0006.php

Шаблон для проверки своих знаний

Фамилия, Имя ______________________________

А1. Вычислите значение суммы в десятичной СС:

10 2 + 10 4 + 10 6 + 10 8 = ?

1. 22

2. 20

3. 18

4. 24

А2. Двоичным эквивалентом числа 60 является:

1. 111100

2. 10110

3. 110

4. 110101

А3. Сколько единиц содержит двоичная запись числа 25?

1. 1 2. 2 3. 3 4. 4

А4. В системе с некоторым основанием число 17 записывается как

101. Укажите это основание.

1. 2

2. 3

3. 4

4. 8

В1. В коробке 31 шар. Из них 12 красных и 17 желтых.

В какой системе счисления такое возможно?

В2. Даны 3 числа. Поставьте их в порядке убывания.

А = 203 4 В = 10101 2 С = 135 6

Предварительный просмотр:

Чтобы пользоваться предварительным просмотром презентаций создайте себе аккаунт (учетную запись) Google и войдите в него: https://accounts.google.com


Подписи к слайдам:

Ответы: А1 - 2; А2 – 1; А3 - 3; А4 – 3; В1 – 8-ная; В2 - САВ.

Перевод чисел из двоичной системы счисления в восьмеричную, шестнадцатеричную системы счисления. Цель: научиться переводить из двоичной системы счисления в восьмеричную, шестнадцатеричную системы счисления, минуя десятичную.

Перевод чисел из двоичной системы счисления в восьмеричную. Для записи двоичных чисел используются две цифры, то есть в каждом разряде числа возможны 2 варианта записи. Решаем показательное уравнение: 2 = 2 i . Так как 2 = 2 1 , то i = 1 бит. Каждый разряд двоичного числа содержит 1 бит информации. Для записи восьмеричных чисел используются восемь цифр, то есть в каждом разряде числа возможны 8 вариантов записи. Решаем показательное уравнение: 8 = 2 i . Так как 8 = 2 3 , то i = 3 бита.

Триады Для перевода целого двоичного числа в восьмеричное его нужно разбить на группы по три цифры, справа налево, а затем преобразовать каждую группу в восьмеричную цифру. Если в последней, левой, группе окажется меньше трех цифр, то необходимо ее дополнить слева нулями. Далее необходимо триады заменить на восьмеричные числа.

Перевод чисел из двоичной системы счисления в шестнадцатеричную. Для записи шестнадцатеричных чисел используются шестнадцать цифр, то есть в каждом разряде числа возможны 16 вариантов записи. Решаем показательное уравнение: 16 = 2 i . Так как 16 = 2 4 , то i = 4 бита. Каждый разряд шестнадцатеричного числа содержит 4 бита информации.

Тетрады для перевода целого двоичного числа в шестнадцатеричное его нужно разбить на группы по четыре цифры (тетрады), начиная справа, и, если в последней левой группе окажется меньше четырех цифр, дополнить ее слева нулями. Затем надо преобразовать каждую группу в шестнадцатеричную цифру.

Задания 1.17 Перевести в восьмеричную и шестнадцатеричную системы счисления следующие целые числа: 1111 2 , 1010101 2 . 1.18. Перевести в восьмеричную и шестнадцатеричную системы счисления следующие дробные числа: 0,01111 2 , 0,10101011 2 . 1.19. Перевести в восьмеричную и шестнадцатеричную системы счисления следующие числа: 11,01 2 , 110,101 2 . 1.20. Перевести в двоичную систему счисления следующие числа: 46,27 8 , ЕF,12 16 . 1.21. Сравнить числа, выраженные в различных системах счисления: 1101 2 и D 16 ; 0,11111 2 и 0,22 8 ; 35,63 8 и 16,С 16 .


«Позиционные и непозиционные системы счисления» - Поэтому преимущественное применение получили позиционные системы счисления. На практике используют сокращенную запись чисел: А= anan-1 ... a1a0a-1... a-m. Основные недостатки непозиционных систем счисления: Примеры развернутой формы записи чисел в позиционных системах счисления. Например, умножить: XXXII и XXIV.

«Перевод систем счисления» - Перевод чисел из 10-ой системы счисления в 2-ую. 2E. 01. Десятичная. 2. Перевод целых чисел в 2, 8, 16-ю системы счисления. 1 способ. 8.

«Разные системы счисления» - Арифметические операции в двоичной СС. Правила сложения и умножения. Непозиционные системы счисления. Домашнее задание. Позиционные Системы счисления. Например, IX - обозначает 9, XI - обозначает 11. Система счисления. Практическое задание: Подведение итогов урока, домашнее задание. Для записи промежуточных чисел римляне использовали не только сложение, но и вычитание.

«Запись систем счисления» - Непозиционные системы счисления. Да, можно: Позиционные системы счисления. Виды систем счисления. 333. Система счисления – это… Сухоногово 2005. … Способ записи чисел (1, 221, XIX, 10200). МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Муниципальная общеобразовательная Чернопенская средняя школа.

«Системы счисления урок» - Часы работают в двенадцатиричной СС. Двоичная арифметика (8 сс). А посуду, постельное белье мы считаем дюжинами (12 предметов). Число месяцев в году тоже равно 12. Перевод чисел из 2 сс в 10 сс? Как работает человек? . Представление информации. III, VVV. Перевод чисел из 10 сс в 2 сс? Урок 5. Системы счисления.

«Двоичная система» - Двоичная система счисления. Вильгельм Готфрид Лейбниц (1646-1716). Переведем число 121 в двоичную систему счисления. 1 способ – метод разностей. 1, 2, 4, 8, 16, 32, 64, 128,... Любое десятичное число можно представить в виде суммы слагаемых ряда: Перевод целых десятичных чисел в двоичный код.

Всего в теме 13 презентаций

а) из 10–ой с/с в 2–ую систему счисления: 165; 541; 600; 720; 43,15; 234,99.

б) из 2–ой в 10–ую систему счисления: 110101 2 ; 11011101 2 ; 110001011 2 ; 1001001,111 2

в) из 2–ой с/с в 8–ую,16–ую с/с:

100101110 2 ; 100000111 2 ; 111001011 2 ; 1011001011 2 ; 110011001011 2 ; 10101,10101 2 ; 111,011 2

г) из 10–ой с/с в 8–ую, 16–ую с/с: 69; 73; 113; 203; 351; 641; 478,99; 555,555

д) из 8–ой с/с в 10–ую с/с: 35 8 ; 65 8 ; 215 8 ; 327 8 ; 532 8 ; 751 8 ; 45,454 8

е) из 16–ой с/с в 10–ую с/с: D8 16 ; 1AE 16 ; E57 16 ; 8E5 16 ; FAD 16 ; AFF,6A7 16

2. Выпишите целые десятичные числа, принадлежащие следующим чсловым промежуткам:

3. Выполнить операции:

а) сложение в двоичной системе счисления

10010011 2 + 1011101 2 + 10110011 2 +10111001,1 2

1011011 2 11101101 2 1010101 2 10001101,1 2

б) вычитание в 2–ой системе счисления

– 100001000 2 – 110101110 2 – 11101110 2 -10111001,1 2

10110011 2 10111111 2 1011011 2 10001101,1 2

в) умножение в 2–ой системе счисления

´ 100001 2 ´ 100101 2 ´ 111101 2 ´ 11001,01 2

111111 2 111011 2 111101 2 11,01 2

г) деление в 2–ой системе счисления

1) 111010001001 2 / 111101 2

2) 100011011100 2 / 110110 2

3) 10000001111 2 / 111111 2

д) сложение 8–ых чисел

715 8 + 524 8 + 712 8 + 321 8 + 5731 8 + 6351 8

73 8 57 8 763 8 765 8 1376 8 737 8

е) вычитание 8–ых чисел

– 137 8 – 436 8 – 705 8 – 538 8 – 7213 8

72 8 137 8 76 8 57 8 537 8

ж) сложение 16–ых чисел

А13 16 + F0B 16 + 2EA 16 + ABC 16 + A2B 16

16F 16 1DA 16 FCE 16 C7C 16 7F2 16

з) вычитание 16–ых чисел

– À17 16 – DFA 16 – FO5 16 – DE5 16 – D3C1 16

1FС 16 1AE 16 AD 16 AF 16 D1F 16

4. Вычислите выражение:

(1111101 2 + AF 16) / 36 8 ; 125 8 + 11101 2 ´ A2 16 / 1417 8

ЛАБОРАТОРНАЯ РАБОТА 1. Системы счисления

Система счисления, или просто счисление, или нумерация,- набор конкретных знаков–цифр вместе с системой приемов записи, которая представляет числа этими цифрами.

Цель работы – приобретение навыков выполнения операций в различных системах счисления.

Основные понятия систем счисления

Система счисления - это совокупность правил и приемов записи чисел с помощью набора цифровых знаков. Количество цифр, необходимых для записи числа в системе, называют основанием системы счисления. Основание системы записывается в справа числа в нижнем индексе: .

Различают два типа систем счисления:

Позиционные, когда значение каждой цифры числа определяется ее позицией в записи числа;

Непозиционные, когда значение цифры в числе не зависит от ее места в записи числа.

Примером непозиционной системы счисления является римская: числа IX, IV, XV и т.д. Примером позиционной системы счисления является десятичная система, используемая повседневно.

Любое целое число в позиционной системе можно записать в форме многочлена:

где - основание системы счисления;

Цифры числа, записанного в данной системе счисления;

n - количество разрядов числа.

Пример. Число запишется в форме многочлена следующим образом:

Десятичная система счисления – в настоящее время наиболее известная и используемая. неправильное название удерживается и поныне.

Десятичная система использует десять цифр -– 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9, а также символы “+” и “–” для обозначения знака числа и запятую или точку для разделения целой и дробной частей числа.

В вычислительных машинах используется двоичная система счисления, её основание - число 2. Для записи чисел в этой системе используют только две цифры - 0 и 1.

Таблица 1. Соответствие чисел, записанных в различных системах счисления

Десятичная Двоичная Восьмеричная Шестнадцатеричная
A
B
C
D
E
F

Правила перевода чисел из одной системы счисления в другую

Перевод чисел из одной системы счисления в другую составляет важную часть машинной арифметики. Рассмотрим основные правила перевода.

1. Для перевода двоичного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 2, и вычислить по правилам десятичной арифметики:

При переводе удобно пользоваться таблицей степеней двойки:

Таблица 2. Степени числа 2

n

2. Для перевода восьмеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 8, и вычислить по правилам десятичной арифметики:

При переводе удобно пользоваться таблицей степеней восьмерки:

Таблица 3.4. Степени числа 8

n

Пример. Число перевести в десятичную систему счисления.

3. Для перевода шестнадцатеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 16, и вычислить по правилам десятичной арифметики:

При переводе удобно пользоваться таблицей степеней числа 16:

Таблица 3. Степени числа 16

n

Пример. Число перевести в десятичную систему счисления.

4. Для перевода десятичного числа в двоичную систему его необходимо последовательно делить на 2 до тех пор, пока не останется остаток, меньший или равный 1. Число в двоичной системе записывается как последовательность последнего результата деления и остатков от деления в обратном порядке.

5. Для перевода десятичного числа в восьмеричную систему его необходимо последовательно делить на 8 до тех пор, пока не останется остаток, меньший или равный 7. Число в восьмеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.

6. Для перевода десятичного числа в шестнадцатеричную систему его необходимо последовательно делить на 16 до тех пор, пока не останется остаток, меньший или равный 15. Число в шестнадцатеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.

7. Чтобы перевести число из двоичной системы в восьмеричную, его нужно разбить на триады (тройки цифр), начиная с младшего разряда, в случае необходимости дополнив старшую триаду нулями, и каждую триаду заменить соответствующей восьмеричной цифрой (табл. 3).

Пример. Число перевести в восьмеричную систему счисления.

8. Чтобы перевести число из двоичной системы в шестнадцатеричную, его нужно разбить на тетрады (четверки цифр), начиная с младшего разряда, в случае необходимости дополнив старшую тетраду нулями, и каждую тетраду заменить соответствующей восьмеричной цифрой (табл. 3).

Пример. Число перевести в шестнадцатеричную систему счисления.

9. Для перевода восьмеричного числа в двоичное необходимо каждую цифру заменить эквивалентной ей двоичной триадой.

Пример. Число перевести в двоичную систему счисления.




Top