Файл: Системы исчисления чисел, реализация перевода из одной системы в другую на С++.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 14.06.2023

Просмотров: 93

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

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

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

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

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

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

Вместе с усложнением чисел появилось понятие разрядности, которое известно нам сейчас. Заметки или зарубки наносились в определенном количестве, камешки собирались в кучки с определенным количеством камешков. В основу современной десятичной системы легла естественная емкость разряда – десять пальцев. В культурах и языках разных народов есть указание на числа 5, 10, 20 как формирующие название чисел, например, французское quatre-vingt, «четыре по двадцать» - восемьдесят.

Однако существовали и другие, обусловленные теми или иными факторами, основания – например, число сорок. Насекомое «сороконожка» имеет много ног, а «сорок сороков» обозначает очень большое число.

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


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

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

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

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

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

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

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

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


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

В начале тридцатых годов прошлого столетия двоичная система легла в основу первых сложных вычислительных устройств, поскольку позволяла аппаратно реализовать различные действия. Ученые Франции, Германии, США и даже СССР шли в своих исследованиях в одном направлении, однако до определенного момента предпринимались попытки создавать вычислительные машины на логике, отличной от двоичной. Однако к середине сороковых годов, не без влияния А. Бекса, Х. Гольдстайна и, конечно же, Дж. Фон Неймана сформировалась устойчивая основа построения именно двоичных вычислительных машин и переход от десятичной арифметики к двоичной в сфере информационных технологий состоялся.

Глава 3. Восьмеричная система исчисления

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

Алфавит восьмеричной системы состоит из восьми цифр – 0, 1, 2, 3, 4, 5, 6, 7, а так же, как и в двоичной системе, знаков плюс и минус для обозначения чисел больше и меньше нуля, а так же знака разделения целой и дробной части числа. Допустимо использование запятой или точки, в зависимости от региональных стандартов. Восьмеричная система позволяла писать программы в машинных кодах в более краткой форме по сравнению с двоичной системой, широко использовалась программистами пятидесятых-семидесятых годов. Однако со временем вычислительные машины перешли от восьмиразрядных систем к более сложным и в конечном счете в наши дни восьмеричная система используется только для хранения подходящей по размеру информации, например, прав доступа к файлу в Unix-системах, однако реализация различных функций перевода в эту систему есть в любом инженерном калькуляторе, а возможность работать с восьмеричными числами – практически в любом современном языке программирования.


Глава 4. Десятичная система исчисления

Известна нам с детства, используется практически по всему миру. Для записи используют современные «арабские» цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, в обычной жизни используется для обозначения количества предметов, счета, обозначения сумм и так далее. Также возможна запись положительных и отрицательных числе при помощи знаков плюса и минуса. И точно также используется разделитель для целой и дробной части. Интересно, что некоторые стандарты допускают использование специального разделителя для отделения разрядов, кратных трём – тысяч, миллионов, миллиардов. Это искусственный способ, который во многом призван увеличить читаемость чисел, записанных в десятичной системе. Конечно же, с десятичной системой мы сталкиваемся чаще, чем с остальными, поэтому не будем подробно на ней останавливаться и перейдем к следующей.

Глава 5. Шестнадцатеричная система

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

В своем алфавите содержит привычные нам цифры от нуля до девяти из десятеричной системы, однако после этого еще идут буквы A, B, C, D, E, F, которые заменяют числа от 10 до 15. Точно также есть возможность записи отрицательных и положительных чисел, а так же разделения дробной и целой части при помощи разделителя.

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

Глава 6. Представление чисел в разных системах исчисления

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


Двоичная

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

Десятичная

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

0

0

0

0

1

1

1

1

10

2

2

2

11

3

3

3

100

4

4

4

101

5

5

5

110

6

6

6

111

7

7

7

1000

10

8

8

1001

11

9

9

1010

12

10

A

1011

13

11

B

1100

14

12

C

1101

15

13

D

1110

16

14

E

1111

17

15

F

10000

20

16

10

Таблица 1. Представление чисел в разных системах исчисления

Данная таблица демонстрирует преимущества систем с большим основанием – обратите внимание, что в двоичной системе для числа 16 нужно уже пять разрядов, тогда как в шестнадцатеричной и восьмеричной системе для этого используются только два разряда! И чем больше число, тем более актуальна проблема его краткой записи и легкости чтения.

Глава 7. Как работает с числами ЭВМ?

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

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