Генератор

Что такое система счисления в. Арифметические основы цифровой техники

Разберем одну из важнейших тем по информатике - . В школьной программе она раскрывается довольно "скромно", скорее всего, из-за недостатка отведенных на нее часов. Знания по этой теме, особенно на перевод систем счисления , являются обязательным условием для успешной сдачи ЕГЭ и поступления в ВУЗы на соответствующие факультеты. Ниже подробным образом рассмотрены такие понятия, как позиционные и непозиционные системы счисления , даны примеры этих систем счисления, представлены правила перевода целых десятичных чисел, правильных десятичных дробей и смешанных десятичных чисел в любую другую систему счисления, перевода чисел из любой системы счисления в десятичную, перевода из восьмеричной и шестнадцатиричной систем счисления в двоичную систему счисления . На экзаменах в большом количестве встречаются задачи по данной теме. Умение их решать – одно из требований к абитуриентам. Скоро: По каждой теме раздела, помимо подробного теоретического материала, будут представлены практически все возможные варианты задач для самостоятельного изучения. Кроме того, у вас появится возможность совершенно бесплатно скачать с файлообменника уже готовые подробные решения к данным задачам, иллюстрирующие различные способы получения верного ответа.

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

Непозиционные системы счисления - системы счисления, в которых количественное значение цифры не зависит от ее местоположения в числе.

К непозиционным системам счисления относится, например, римская, где вместо цифр - латинские буквы.

I 1 (один)
V 5 (пять)
X 10 (десять)
L 50 (пятьдесят)
C 100 (сто)
D 500 (пятьсот)
M 1000 (тысяча)

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

IL 49 (50-1=49)
VI 6 (5+1=6)
XXI 21 (10+10+1=21)
MI 1001 (1000+1=1001)

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

Позиционные системы счисления - системы счисления, в которых количественное значение цифры зависит от ее местоположения в числе.

Например, если говорить о десятичной системе счисления, то в числе 700 цифра 7 означает "семь сотен", но эта же цифра в числе 71 означает "семь десятков", а в числе 7020 - "семь тысяч".

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

    Например:
  • Двоичная - позиционная система счисления с основанием 2.
  • Четверичная - позиционная система счисления с основанием 4.
  • Пятиричная - позиционная система счисления с основанием 5.
  • Восьмеричная - позиционная система счисления с основанием 8.
  • Шестнадцатиричная - позиционная система счисления с основанием 16.

Чтобы успешно решать задачи по теме "Системы счисления", ученик должен знать наизусть соответствие двоичных, десятичных, восьмеричных и шестнадцатиричных чисел до 16 10:

10 с/с 2 с/с 8 с/с 16 с/с
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10

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

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

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

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

Для примера разберем получение чисел в восьмеричной системе : К первому числу (0) прибавляем 1, получаем 1. Затем к 1 прибавляем 1, получаем 2 и т.д. до 7. Если мы прибавим к 7 единицу, получим число равное основанию системы счисления, т.е. 8. Тогда нужно увеличить на единицу разряд десятков (получаем восьмеричный десяток - 10). Далее, очевидно, идут числа 11, 12, 13, 14, 15, 16, 17, 20, ..., 27, 30, ..., 77, 100, 101...

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

1 Перевод целых десятичных чисел в любую другую систему счисления.

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

Пример ("деление уголком"): Переведем число 173 10 в восьмеричную систему счисления.


Таким образом, 173 10 =255 8

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

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

Пример: Переведем число 0,65625 10 в восьмеричную систему счисления.

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

3.2. Виды систем счисления

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

3.4. Иллюстрированный вспомогательный материал

3.5. Тестирование

3.6. Контрольные вопросы

Разные народы в разные времена использовали разные системы счисления. Следы древних систем счета встречаются и сегодня в культуре многих народов. К древнему Вавилону восходит деление часа на 60 минут и угла на 360 градусов. К Древнему Риму - традиция записывать в римской записи числа I, II, III и т. д. К англосаксам - счет дюжинами: в году 12 месяцев, в футе 12 дюймов, сутки делятся на 2 периода по 12 часов.

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

В конце концов, самой популярной системой счисления оказалась десятичная система. Десятичная система счисления пришла из Индии, где она появилась не позднее VI в. н. э. В ней всего 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 но информацию несет не только цифра, но также и место позиция, на которой она стоит. В числе 444 три одинаковых цифры обозначают количество и единиц, и десятков, и сотен. А вот в числе 400 первая цифра обозначает число сотен, два 0 сами по себе вклад в число не дают, а нужны лишь для указания позиции цифры 4.

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

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

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

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

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

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

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

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

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

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

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

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

3.2. Виды систем счисления

Римская система счисления является непозиционной системой. В ней для записи чисел используются буквы латинского алфавита. При этом буква I всегда означает единицу, буква - V пять, X - десять, L - пятьдесят, C - сто, D - пятьсот, M - тысячу и т.д. Например, число 264 записывается в виде CCLXIV. При записи чисел в римской системе счисления значением числа является алгебраическая сумма цифр, в него входящих. При этом цифры в записи числа следуют, как правило, в порядке убывания их значений, и не разрешается записывать рядом более трех одинаковых цифр. В том случае, когда за цифрой с большим значением следует цифра с меньшим, ее вклад в значение числа в целом является отрицательным. Типичные примеры, иллюстрирующие общие правила записи чисел в римской система счисления, приведены в таблице.

Таблица 2.Запись чисел в римской системе счисления

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

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

Древнее изображение десятичных цифр (рис. 1) не случайно: каждая цифра обозначает число по количеству углов в ней. Например, 0 - углов нет, 1 - один угол, 2 - два угла и т.д. Написание десятичных цифр претерпело существенные изменения. Форма, которой мы пользуемся, установилась в XVI веке.

Десятичная система впервые появилась в Индии примерно в VI веке новой эры. Индийская нумерация использовала девять числовых символов и нуль для обозначения пустой позиции. В ранних индийских рукописях, дошедших до нас, числа записывались в обратном порядке - наиболее значимая цифра ставилась справа. Но вскоре стало правилом располагать такую цифру с левой стороны. Особое значение придавалось нулевому символу, который вводился для позиционной системы обозначений. Индийская нумерация, включая нуль, дошла и до нашего времени. В Европе индусские приёмы десятичной арифметики получили распространение в начале ХIII в. благодаря работам итальянского математика Леонардо Пизанского (Фибоначчи). Европейцы заимствовали индийскую систему счисления у арабов, назвав ее арабской. Это исторически неправильное название удерживается и поныне.

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

В вычислительных машинах используется двоичная система счисления , её основание - число 2. Для записи чисел в этой системе используют только две цифры - 0 и 1. Вопреки распространенному заблуждению, двоичная система счисления была придумана не инженерами-конструкторами ЭВМ, а математиками и философами задолго до появления компьютеров, еще в ХVII - ХIХ веках. Первое опубликованное обсуждение двоичной системы счисления принадлежит испанскому священнику Хуану Карамюэлю Лобковицу (1670 г.). Всеобщее внимание к этой системе привлекла статья немецкого математика Готфрида Вильгельма Лейбница, опубликованная в 1703 г. В ней пояснялись двоичные операции сложения, вычитания, умножения и деления. Лейбниц не рекомендовал использовать эту систему для практических вычислений, но подчёркивал её важность для теоретических исследований. Со временем двоичная система счисления становится хорошо известной и получает развитие.

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

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

Двоичная система удобна для компьютера, но неудобна для человека: числа получаются длинными и их трудно записывать и запоминать. Конечно, можно перевести число в десятичную систему и записывать в таком виде, а потом, когда понадобится перевести обратно, но все эти переводы трудоёмки. Поэтому применяются системы счисления, родственные двоичной - восьмеричная и шестнадцатеричная . Для записи чисел в этих системах требуется соответственно 8 и 16 цифр. В 16-теричной первые 10 цифр общие, а дальше используют заглавные латинские буквы. Шестнадцатеричная цифра A соответствует десятеричному числу 10, шестнадцатеричная B – десятичному числу 11 и т. д. Использование этих систем объясняется тем, что переход к записи числа в любой из этих систем от его двоичной записи очень прост. Ниже приведена таблица соответствия чисел, записанных в разных системах.

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

Десятичная

Двоичная

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

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

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

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

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

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

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

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

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

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

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

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

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

Виды систем счисления

Римская система счисления является непозиционной системой. В ней для записи чисел используются буквы латинского алфавита. При этом буква I всегда означает единицу, буква - V пять, X - десять, L - пятьдесят, C - сто, D - пятьсот, M - тысячу и т.д. Например, число 264 записывается в виде CCLXIV. При записи чисел в римской системе счисления значением числа является алгебраическая сумма цифр, в него входящих. При этом цифры в записи числа следуют, как правило, в порядке убывания их значений, и не разрешается записывать рядом более трех одинаковых цифр. В том случае, когда за цифрой с большим значением следует цифра с меньшим, ее вклад в значение числа в целом является отрицательным. Типичные примеры, иллюстрирующие общие правила записи чисел в римской система счисления, приведены в таблице.

Таблица 2. Запись чисел в римской системе счисления

III

VII

VIII

XIII

XVIII

XIX

XXII

XXXIV

XXXIX

XCIX

200

438

649

999

1207

CDXXXVIII

DCXLIX

CMXCIX

MCCVII

2045

3555

3678

3900

3999

MMXLV

MMMDLV

MMMDCLXXVIII

MMMCM

MMMCMXCIX

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

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

Древнее изображение десятичных цифр (рис. 1) не случайно: каждая цифра обозначает число по количеству углов в ней. Например, 0 - углов нет, 1 - один угол, 2 - два угла и т.д. Написание десятичных цифр претерпело существенные изменения. Форма, которой мы пользуемся, установилась в XVI веке.

Десятичная система впервые появилась в Индии примерно в VI веке новой эры. Индийская нумерация использовала девять числовых символов и нуль для обозначения пустой позиции. В ранних индийских рукописях, дошедших до нас, числа записывались в обратном порядке - наиболее значимая цифра ставилась справа. Но вскоре стало правилом располагать такую цифру с левой стороны. Особое значение придавалось нулевому символу, который вводился для позиционной системы обозначений. Индийская нумерация, включая нуль, дошла и до нашего времени. В Европе индусские приёмы десятичной арифметики получили распространение в начале ХIII в. благодаря работам итальянского математика Леонардо Пизанского (Фибоначчи). Европейцы заимствовали индийскую систему счисления у арабов, назвав ее арабской. Это исторически неправильное название удерживается и поныне.

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

В вычислительных машинах используется двоичная система счисления, её основание - число 2. Для записи чисел в этой системе используют только две цифры - 0 и 1. Вопреки распространенному заблуждению, двоичная система счисления была придумана не инженерами-конструкторами ЭВМ, а математиками и философами задолго до появления компьютеров, еще в ХVII - ХIХ веках. Первое опубликованное обсуждение двоичной системы счисления принадлежит испанскому священнику Хуану Карамюэлю Лобковицу (1670 г.). Всеобщее внимание к этой системе привлекла статья немецкого математика Готфрида Вильгельма Лейбница, опубликованная в 1703 г. В ней пояснялись двоичные операции сложения, вычитания, умножения и деления. Лейбниц не рекомендовал использовать эту систему для практических вычислений, но подчёркивал её важность для теоретических исследований. Со временем двоичная система счисления становится хорошо известной и получает развитие.

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

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

Двоичная система удобна для компьютера, но неудобна для человека: числа получаются длинными и их трудно записывать и запоминать. Конечно, можно перевести число в десятичную систему и записывать в таком виде, а потом, когда понадобится перевести обратно, но все эти переводы трудоёмки. Поэтому применяются системы счисления, родственные двоичной - восьмеричная и шестнадцатеричная. Для записи чисел в этих системах требуется соответственно 8 и 16 цифр. В 16-теричной первые 10 цифр общие, а дальше используют заглавные латинские буквы. Шестнадцатеричная цифра A соответствует десятеричному числу 10, шестнадцатеричная B – десятичному числу 11 и т. д. Использование этих систем объясняется тем, что переход к записи числа в любой из этих систем от его двоичной записи очень прост. Ниже приведена таблица соответствия чисел, записанных в разных системах.

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

Десятичная

Двоичная

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

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

001

010

011

100

101

110

111

1000

1001

1010

1011

1100

1101

D http://viagrasstore.net/generic-viagra-soft/

1110

1111

10000

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

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

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

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

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

n (степень)

1024

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

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

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

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

n (степень)

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

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

Вопреки распространенному заблуждению, двоичная система счисления была придумана не инженерами, разрабатывавшими вычислительные машины, а философами и математиками задолго до появления компьютеров, ещё в XVII ‑ XIX вв. Возможность представления чисел, построенных на основании только двух цифр - 0 и 1, впервые была предложена великим немецкий ученый Готфридом Вильгельмом Лейбницем в 1666 году. Он считал: "Вычисление с помощью двоек … является для науки основным и порождает новые открытия… При сведении чисел к простейшим началам, каковы 0 и 1, везде появляется чудесный порядок".

Система счисления с основанием 2 имеет простейший набор цифр - 0 и 1. В связи с этим правила выполнения арифметических операций с двоичными числами предельно просты:

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

Простота двоичной системы счисления позволяет использовать для отображения двоичных чисел несложные устройства, работающее в режиме двоичного индикатора , принимающего только два возможных значения 1 и 0 или, соответственно, "включено" и "выключено". Электрическая лампа является одним из примеров двоичного индикатора. Если выстроить в один ряд N электрических лампочек, то можно получить устройство для представления N-разрядных двоичных чисел.

Неудобство использования людьми двоичной системы в практической деятельности является быстро нарастающая громоздкость двоичных чисел. Например, число 327 в десятичной системе счисления в двоичной системе счисления имеет аналог 101000111. С этой точки зрения чем больше основание системы счисления, тем более короткими получаются числа, но более сложными для запоминания человеком становятся таблицы сложения и умножения чисел. В этой связи десятичная система представляется оптимальной для практического использования людьми. Однако в информатике более эффективными считаются шестнадцатеричная и восьмеричная системы счисления. В качестве цифр в шестнадцатеричной системе используются знаки: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F, а в восьмеричной: 0,1,2,3,4,5,6,7. Так как в разных системах счисления применяются общие цифры, то не всегда можно сразу определить, в какой системе счисления представлено число. Для этого принято указывать для числа основание системы счисления в качестве нижнего индекса. Например, 121 10 и 121 16 – это разные числа, представленные соответственно в десятичной и шестнадцатеричной системах счисления. Число 14 10 в шестнадцатеричной системе будет иметь аналог E 16 , а число 7143 10 =1BE7 16 .



Особенностью восьмеричной системы счисления является то, что она, во-первых, использует привычные цифры, а во-вторых, - даёт более компактные числа по сравнению с двоичной системой счисления. Примером восьмеричного числа является число 507 8 = 327 10 .

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

Преобразовать число любой системы счисления в эквивалент числа в десятичной системе счисления совсем не сложно. Для этого достаточно представить число в виде формулы (1) и вычислить её, заменив в ней цифры и основание соответствующими десятичными эквивалентами. Например, 1BE7 16 = 1×16 3 + 11×16 2 + 14×16 1 + 7×16 0 = 7143 10 .



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

Например, 147 8 преобразуется как 001 100 111 = 1100111 2 (незначащие нули отбрасываются).

Двоичное число легко преобразовать в восьмеричное или шестнадцатеричное, стоит только разбить его соответственно на тройки или четверки двоичных разрядов, начиная с младшего разряда, а затем полученные трёхзначные или четырехзначные двоичные числа заменить эквивалентными восьмеричными или шестнадцатеричными цифрами, пользуясь приведенными выше таблицами. Недостающие старшие разряды дополняются незначащими нулевыми разрядами. Например, 10101000111 2 записывается как 010 101 000 111 = 2507 8 . Это же число преобразуется в шестнадцатеричное число как 0101 0100 0111 = 547 16 . Простота рассмотренных выше примеров перевода двоичных, восьмеричных и шестнадцатеричных чисел из одной системы счисления в другую связана с тем, что эти системы имеют основания, являющиеся степенью 2.

Метод перевода числа из десятичной системы в произвольно заданную, например, в шестнадцатеричную несколько сложнее. Для этого требуется произвести серию делений числа на основание P. Проиллюстрируем на примерах общий метод преобразования целого числа из десятичной системы счисления в другую заданную. Пусть нужно перевести в шестнадцатеричную систему счисления число 7143 10 . Будем делить 7143 10 последовательно на 16 (основание системы счисления), а полученные остатки от деления заменять эквивалентными цифрами шестнадцатеричной системы счисления, нулевые остатки в том числе:

7143: 16 = 446 и 7 = 7 16 в остатке,

446: 16 = 27 и 14 = Е 16 в остатке,

27: 16 = 1 и 11 = В 16 в остатке,

1: 16 = 0 и 1 = 1 16 в остатке.

Выписав все остатки, представленные шестнадцатеричными цифрами, начиная с последнего, получим соответствующее шестнадцатеричное число. В результате получим 7143 10 = 1ВЕ7 16 . Для других систем счисления деление надо будет производить на соответствующее основание и остатки заменять соответствующими цифрами. Пусть, например, нужно перевести в двоичную систему счисления число 234 10 . Процесс перевода будет выглядеть так:

234: 2 = 117 и 0 = 0 2 в остатке,

117: 2 = 58 и 1 = 1 2 в остатке,

58: 2 = 29 и 0 = 0 2 в остатке,

29: 2 = 14 и 1 = 1 2 в остатке,

14: 2 = 7 и 0 = 0 2 в остатке,

7: 2 = 3 и 1 = 1 2 в остатке

3: 2 = 1 и 1 = 1 2 в остатке

1: 2 = 0 и 1 = 1 2 в остатке

В результате получим 234 10 = 11101010 2 .

Кроме рассмотренных выше классических позиционных систем счисления в информатике для преобразования десятичных чисел в двоичный код разработана так называемая двоично-десятичная система кодирования. Она обеспечивает лёгкость перевода данных, представленных в десятичной системе счисления в двоичную форму представления и обратно. В этой системе кодирования десятичные цифры кодируются четырёхразрядными целыми двоичными числами (кодами), представленными в следующей таблице перевода:

Цифра
Код

Получаемый в результате перевода двоично-десятичный код лишь внешне похож на двоичное число, но не является двоичным эквивалентом соответствующего десятичного числа. Например, число 9703 10 в двоично-десятичной системе выглядит так: 1001011100000011 2-10 . Двоичный же эквивалент равен 10010111100111 2 . Двоично-десятичная система может быть использована и как своеобразная позиционная система счисления, однако порядок выполнения арифметических операций над такими числами будет отличаться большей сложностью. Поэтому двоично-десятичный код обычно выступает в качестве посредника при переходе от десятичных чисел к двоичным и обратно.

На ранних ступенях развития общества люди почти не умели считать. Они различали совокупности двух и трех предметов; всякая совокупность, содержавшая бóльшее число предметов, объединялась в понятии «много». Предметы при счете сопоставлялись обычно с пальцами рук и ног. По мере развития цивилизации потребность человека в счете стала необходимой. Первоначально натуральные числа изображались с помощью некоторого количества черточек или палочек, затем для их изображения стали использовать буквы или специальные знаки. В древнем Новгороде использовалась славянская система, где применялись буквы славянского алфавита; при изображении чисел над ними ставился знак ~ (титло).

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

I = 1; V = 5; X = 10; L = 50; С = 100; D = 500; M = 1000.

О происхождении римских цифр достоверных сведений нет. Цифра V могла первоначально служить изображением кисти руки, а цифра Х могла составиться из двух пятерок. В римской нумерации явственно сказываются следы пятеричной системы счисления. Все целые числа (до 5000) записываются с помощью повторения вышеприведенных цифр. При этом, если бóльшая цифра стоит перед меньшей, то они складываются, если же меньшая стоит перед бóльшей (в этом случае она не может повторяться), то меньшая вычитается из бóльшей). Например, VI = 6, т.е. 5 + 1, IV = 4, т.е. 5 – 1, XL = 40, т е. 50 – 10, LX = 60, т.е. 50 + 10. Подряд одна и та же цифра ставится не более трех раз: LXX = 70; LXXX = 80; число 90 записывается ХС (а не LXXXX).

Первые 12 чисел записываются в римских цифрах так:

I, II, III, IV, V, VI, VII, VIII. IX, X, XI, XII.

Другие же числа записываются, например, как:

XXVIII = 28; ХХХIХ = 39; CCCXCVII = 397; MDCCCXVIII = 1818.

Выполнение арифметических действий над многозначными числами в этой записи очень трудно. Тем не менее, римская нумерация преобладала в Италии до 13 в., а в других странах Западной Европы – до 16 в.

В славянской системе нумерации для записи чисел использовались все буквы алфавита, правда, с некоторым нарушением алфавитного порядка. Различные буквы означали различное количество единиц, десятков и сотен. Например, число 231 записывалось в виде ~ СЛА (C – 200, Л – 30, А – 1).

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

Более удобной и общепринятой и наиболее распространенной является десятичная система счисления, которая была изобретена в Индии, заимствована там арабами и затем через некоторое время пришла в Европу. В десятичной системе счисления основанием является число 10.

Существовали системы исчисления и с другими основаниями. В Древнем Вавилоне, например, применялась шестидесятеричная система счисления. Остатки ее мы находим в сохранившемся до сих пор делении часа или градуса на 60 минут, а минуты – на 60 секунд.

Широкое распространение имела в древности и двенадцатеричная система, происхождение которой, вероятно, связано, как и десятичной системы, со счетом на пальцах: за единицу счета принимались фаланги (отдельные суставы) четырех пальцев одной руки, которые при счете перебирались большим пальцем той же руки. Остатки этой системы счисления сохранились и до наших дней и в устной речи, и в обычаях. Хорошо известно, например, название единицы второго разряда – числа 12 – «дюжина». Сохранился обычай считать многие предметы не десятками, а дюжинами, например, столовые приборы в сервизе или стулья в мебельном гарнитуре. Название единицы третьего разряда в двенадцатеричной системе – гросс – встречается теперь редко, но в торговой практике начала столетия оно еще бытовало. Например, в написанном в 1928 стихотворении Плюшкин В.В.Маяковский, высмеивая людей, скупающих все подряд, писал: «...укупил двенадцать гроссов дирижерских палочек». У ряда африканских племен и в Древнем Китае была употребительна пятеричная система счисления. В Центральной Америке (у древних ацтеков и майя) и среди населявших Западную Европу древних кельтов была распространена двадцатеричная система. Все они также связаны со счетом на пальцах.

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

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

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

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

В позиционных системах счисления величина, обозначаемая цифрой в записи числа, зависит от ее позиции. Количество используемых цифр называется основанием системы счисления. Место каждой цифры в числе называется позицией. Первая известная нам система, основанная на позиционном принципе – шестидесятeричная вавилонская. Цифры в ней были двух видов, одним из которых обозначались единицы, другим – десятки.

Однако наиболее употребительной оказалась индо-арабская десятичная система. Индийцы первыми использовали ноль для указания позиционной значимости величины в строке цифр. Эта система получила название десятичной, так как в ней десять цифр.

Различие между позиционой и непозиционной систем счисления легче всего понять на примере сравнения двух чисел. В позиционной системе счисления сравнение двух чисел происходит следующим образом: в рассматриваемых числах слева направо сравниваются цифры, стоящие в одинаковых позициях. Бóльшая цифра соответствует бóльшему значению числа. Например, для чисел 123 и 234, 1 меньше 2, поэтому число 234 больше, чем число 123. В непозиционной системе счисления это правило не действует. Примером этого может служить сравнение двух чисел IX и VI. Несмотря на то, что I меньше, чем V, число IX больше, чем число VI.

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

Основание системы счисления, в которой записано число, обычно обозначается нижним индексом. Например, 555 7 – число, записанное в семеричной системе счисления. Если число записано в десятичной системе, то основание, как правило, не указывается. Основание системы – это тоже число, и его мы будем указывать в обычной десятичной системе. Вообще, число x может быть представлено в системе с основанием p , как x = a n ·p n +a n – 1·p n –1 + a p 1 + a p 0, где a n ...a 0 – цифры в представлении данного числа. Так, например,

1035 10 =1·10 3 + 0·10 2 + 3·10 1 + 5·10 0 ;

1010 2 = 1·2 3 + 0·2 2 + 1·2 1 + 0·2 0 = 10.

Наибольший интерес при работе на ЭВМ представляют системы счисления с основаниями 2, 8 и 16. Вообще говоря, этих систем счисления обычно хватает для полноценной работы как человека, так и вычислительной машины, однако иногда в силу различных обстоятельств все-таки приходится обращаться к другим системам счисления, например к троичной, семеричной или системе счисления по основанию 32.

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

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

Часто в информатике используют шестнадцатеричную систему, так как запись чисел в ней значительно короче записи чисел в двоичной системе. Может возникнуть вопрос: почему бы не использовать для записи очень больших чисел систему счисления, например по основанию 50? Для такой системы счисления необходимы 10 обычных цифр плюс 40 знаков, которые соответствовали бы числам от 10 до 49 и вряд ли кому-нибудь понравится работать с этими сорока знаками. Поэтому в реальной жизни системы счисления по основанию, большему 16, практически не используются.

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

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

Пусть нужно перевести число 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 – 32 = 23 справедливо неравенство 2 4 = 16

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

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

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

Эти два способа применимы при переводе числа из десятичной системы в систему с любым основанием. Например, при переводе числа 567 в систему счисления с основанием 16 число сначала разлагается по степеням основания. Искомое число состоит из трех цифр, т.к. 16 2 = 256 хх, где вместо х могут стоять любые шестнадцатеричные цифры. Остается распределить по следующим разрядам число 55 (567 – 512). 3·16 = 48

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

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

Операция перевода в десятичную систему выглядит гораздо проще, так как любое десятичное число можно представить в виде x = a p n + a p n –1 +... + a n –1·p 1 + a n ·p 0, где a 0 ... a n – это цифры данного числа в системе счисления с основанием p .

Например,так можно перевести число 4A3F в десятичную систему. По определению, 4A3F= 4·16 3 + A·16 2 + 3·16 + F. При замене A на 10, а F на 15, получается 4·16 3 + 10·16 2 + 3·16 + 15= 19007.

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

Таблица 1. Двоично-шестнадцатеричная таблица
Таблица 1. ДВОИЧНО-ШЕСТНАДЦАТЕРИЧНАЯ ТАБЛИЦА
2-ная 0000 0001 0010 0011 0100 0101 0110 0111
16-ная 0 1 2 3 4 5 6 7
2-ная 1000 1001 1010 1011 1100 1101 1110 1111
16-ная 8 9 A B C D E F

Известный французский астроном, математик и физик Пьер Симон Лаплас (1749–1827) писал об историческом развитии систем счисления, что «Мысль выражать все числа девятью знаками, придавая им, кроме значения по форме, еще значение по месту, настолько проста, что именно из-за этой простоты трудно понять, насколько она удивительна. Как нелегко было прийти к этому методу, мы видим на примере величайших гениев греческой учености Архимеда и Аполлония, от которых эта мысль осталась скрытой.»

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

Анна Чугайнова