Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект_лекций_2010_год_информатика.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

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

Системой счисления называется принятый способ записи чисел и сопоставления этим записям реальных значений. Символы, при помощи записывается число, называются цифрами.

Все системы счисления можно разделить на два класса: позиционные и непозиционные.

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

Таблица 1.1.

Позиционные системы счисления

Основание

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

Знаки

2

двоичная

0,1

3

троичная

0,1,2

4

четверичная

0,1,2,3

8

восьмеричная

0,1,2,3,4,5,6,7

10

десятичная

0,1,2,3,4,5,6,7,8,9

16

шестнадцатеричная

0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

1.3.1. Позиционные системы счисления

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

Во всех вычислительных машинах применяется позиционная система счисления.

Десятичная система счисления является позиционной. В привычной нам системе счисления одна и та же цифра обозначает разные значения, в зависимости от того на каком месте она стоит. Например, в числе 777 первая семерка обозначает 7 сотен, вторая –7 десятков, а третья 7 единиц. Это число можно представить в следующем виде 777=7*100+7*10+7.

В любой позиционной системе счисления число Nq можно представить как сумму степеней основания q, умноженных на соответствующие коэффициенты 0<=ai<=q-1, являющиеся цифрами данного числа:

Nq=anqn+an-1qn-1+…+a1q1+a0q0+a-1д.-1+…+a-mq—m

n, m – произвольные целые числа

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

Nq=anan-1,…,a1a0a-1a-m

Например, число 7309, 204 в десятичной системе счисления можно записать как

7309,20410=7*103+3*102+0*101+9*10+2*10-1+0*10-2+4*10-3

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

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

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

Вся информация, обрабатываемая современными ЭВМ, хранится в них в двоичном коде.

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

До начала 30 г. 20 века данная система осталась вне поля зрения прикладной математики.

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

Пионером в проектировании вычислительных машин двоичного действия на электронно-ламповой основе является инженер Атанасов. Одновременно с ним двоичную машину спроектировали на релейной (электромагнитной) основе.

Утверждение двоичной системы счисления в качестве основы при проектировании ЭВМ с программным управление состоялось под влиянием Беркса, Гольдстайна, Дж. Фон Неймана.

Каким образом осуществляется хранение информации в ЭВМ?

Каждый регистр арифметического устройства ЭВМ, каждая ячейка памяти представляет собой физическую систему, состоящую из некоторого числа однородных элементов. Каждый такой элемент способен находится в нескольких состояниях и служит для изображения одного из разрядов числа. Именно поэтому каждый элемент ячейки называют разрядом. Если при записи чисел в ЭВМ мы хотим использовать десятичную систему счисления, то мы должны получить 10 устойчивых состояний для каждого разряда (как на счетах при помощи косточек). Такие машины существую. Однако конструкция элементов такой машины оказывается чрезвычайно сложной, что сказывается на надежности и скорости ЭВМ.

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

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

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

49=110001

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

0+0=0 0*0=0

0+1=1 0*1=0

1+0=1 1*0=0

1+1=10 1*1=1

К недостаткам двоичного кода относят то обстоятельство, что двоичные коды очень длинные. Это неудобство не имеет существенного значения для ЭВМ. Однако если возникает необходимость кодирования информации вручную, при составлении программ на машинном языке, то предпочтительнее оказывается пользоваться восьмеричной и шестнадцатеричной системой счисления. В первом случае длина числа сокращается в три раза, во втором – в четыре, т.к. 8=23, а 16=24.

Восьмеричная система счисления

В восьмеричной системе счисления используют цифры от 0 до 7. Основанием данной системы счисления является число 8, т.е. любое число разлагается по степеням числа 8.

110=1*80=18

1510=8+7=1*81+7*80=178

199710=3*83+7*82+1*81+5*80=37158

Шестнадцатеричная система счисления

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

В этой системе используется 16 цифр: цифры десятичной системы для обозначения первых десяти цифр и первые шесть букв латинского алфавита для остальных, соответствующих десятичным числам 10,11,12,13,14,15.

0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

Основанием системы является число 16.

1610=1*161+0*160=1016

3010=1*161+14*160=1E16

199710=7*162+12*161+13*160=7CD16

Перевод целого числа из десятичного счисления в другое

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

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

Например.

12:2=6 (0) 54:16=3 (6) 20:8=2 (4)

6:2=3 (0)

3:2=1 (1)

1210=11002 5410=3616 2010=248

Перевод целого числа из двоичного счисления в десятичное счисление

  1. Пронумеруем цифры в двоичной записи числа справа налево, начиная с нуля (номера соответствуют степеням 2 в многочлене);

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

11 001 1012=1*27+1*26+1*23+1*22+1*20=128+64+8+4+1=20510

76 543 210

Арифметические операции в двоичной, восьмеричной и шестнадцатеричной системах счисления

10101112+1111112=100101102 11112-10112=1002

346018+127048=475058 543218-464328=76678

5ac359f16+1234cb16=5beba6a16 fabc16-123416=e88816

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

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

Например.

1234.7778=001 010 011 100. 111 111 1112=1 010 011 100. 111 111 1112

12345678=001 010 011 100 101 110 1112=1 010 011 100 101 110 1112

123456.0078=1 010 011 100 101 110. 000 000 1112

Лишние нули в старших разрядах отбрасываются.

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

Например.

11001112=001 100 1112=1478

11.10012=011.100 1002=3.448

110.01112=110.011 1002=6.348

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

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

Например.

1234.AB7716=0001 0010 0011 0100. 1010 1011 0111 01112=1 0010 0011 0100. 1010 1011 0111 01112

CE456716=1100 1110 0100 0101 0110 01112

11001112=0110 01112=6716

11.10012=0011. 10012=3.916

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

Представление вещественные чисел

Их главное отличие от целых состоит в существовании двух частей – целой и дробной, разделенных при записи запятой. Любое вещественное число х, представленное в системе счисления с основанием N, можно записать в виде

X=mNp,

где m – мантисса, р – характеристика (или порядок) числа.

Для десятичной системы это выглядит очень привычно, например: заряд электрона равен – 1,6*10-19 К, а скорость света ~3*108 м/с.

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

3*108=30*107=0,3*109=0,003*1011. Поэтому договорились для выделения единственного варианта представления числа считать, что мантисса всегда меньше единицы, а ее первый разряд содержит отличную от нуля цифру – в нашем примере этим требованиям удовлетворяет только запись 0,3*109. Такое представление чисел называется нормализованным и является единственным.