Системы счисления
Информация во внешнем по отношению к ЭВМ мире представляется в непрерывном или дискретном виде. Внутри ЭВМ информация всегда представляется в виде чисел, записанных в той или иной системе счисления. Если же речь идет о текстовой информации, то обычно она кодируется также с помощью чисел. Вопрос о выборе системы счисления для цифрового автомата — один из важнейших вопросов проектирования, как алгоритмов функционирования отдельных устройств, так и расчета технических характеристик этого автомата. При обозначении количественных характеристик объектов и явлений используются последовательности символов. Например, для указания года используется последовательность символов " 1999". Символы '1' и '9' выбираются из набора символов, в который входят также символы '0', '2', '3', '4', '5', '6', '7' и '8' (в дальнейшем апострофы при указании символа будут опускаться). Набор символов, правил счета и записи чисел в виде последовательности символов из этого набора образуют систему счисления. Набор символов системы счисления называется алфавитом, а сами символы – цифрами. Необходимо различать значение числа и его запись. Одно и то же число можно записать, используя различные системы счисления. Например, 35 и XXXV — это две различные записи одного и того же числа. Рассмотрим в качестве примера запись чисел в двух системах счисления. Первой системой (S 1)является арабская система счисления с алфавитом: A = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. Во второй системе (S 2)число представляется в виде последовательности единиц, и для определения значения числа необходимо сосчитать количество единиц в его записи. Алфавит второй системы счисления состоит из одной цифры: А = { 1 }. Число одиннадцать в этих системах счисления записывается соответственно 11 и 11111111111. При записи чисел используется цифра 1. В первой системе счисления вес единицы определяется ее местоположением в записи числа (вес левой единицы равен 10, вес правой единицы равен 1), тогда как вес 1 во второй системе счисления всегда равен единице и не зависит от того, где она располагается. Из-за указанного различия эти системы счисления относят к разным Непозиционные системы счисления появились раньше позиционных систем счисления. Первобытные люди использовали для обозначения чисел последовательности зарубок на бревне. Древние греки также пользовались непозиционными (аттической и ионической) системами счисления. Правила счета небольших чисел в некоторых таких системах очень просты. Например, для добавления единицы к числу в непозиционной системе счисления S 2необходимо приписать слева или справа единицу: 111 + 1 = 1111. При записи больших чисел более приемлемым является использование позиционных систем счисления (число 1000000000 при использовании непозиционной системы счисления S 2 может не поместиться на одном листе бумаги). Число q, равное количеству различных цифр в алфавите позиционной системы счисления, называется основанием системы счисления. В алфавите арабской системы счисления S 1 q равно десяти, так как алфавит включает в себя десять различных чисел: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. В соответствии со значением основания арабскую систему счисления называют десятичной системой счисления. Существует несколько форматов записи чисел в позиционных системах счисления. При использовании формата с фиксированной точкой запись числа представляет собой последовательность: S an an – 1... а 1 a 0. a –1 a –2 ... a – m , где S – знак числа (плюс или минус), an, an – 1,..., a 1, а 0, a –1, a – 2,..., a – m – цифры из алфавита А: п, п – 1,..., 1, 0, –1, –2,..., – т – номера разрядов. Разряд с номером n является старшим разрядом числа, а разряд с номером –m – младшим. Разряды с номерами, которые больше или равны 0, образуют целую часть числа. Разряды с номерами, меньшими 0, образуют дробную часть числа. В записи числа эти разряды отделяются разделительной (дробной) точкой (или запятой). Если дробная часть отсутствует, то число называют целым и опускают разделительную точку в записи числа. Если отсутствует целая часть, то число называют правильной дробью и перед разделительной точкой записывают 0 (25 – целое число, а 0.14 – правильная дробь). Для определения абсолютного значения числа необходимо воспользоваться выражением: Nq = a*nqn + a*n – 1 qn – 1 + … + a* 1 q 1 + a* 0 q 0+ а* –1 q-1 + a* –2 q –2 +... + a* – m q – m , где a*n, a*n –1,..., a* 1, а* 0, a* –1, a* –2,..., a* – m – значения чисел, равные собственным весам соответствующих цифр an, an –1,..., a 1, а 0, a –1, a –2,..., a – m. При использовании формата с плавающей точкой запись числа представляет собой последовательность: S an an – 1... а 1 a 0. a –1 a –2 ... a – m ´ qk, где S – знак числа (плюс или минус), an, an – 1,..., a 1, а 0, a –1, a – 2,..., a – m – цифры из алфавита А: п, п – 1,..., 1, 0, –1, –2,..., – т – номера разрядов, q – основание системы счисления, k – порядок числа. Для определения абсолютного значения числа необходимо воспользоваться выражением: Nq = (*nqn + a*n – 1 qn – 1 + … + a* 1 q 1 + a* 0 q 0+ а* –1 q-1 + a* –2 q –2 +... + a* – mq – m)´ qk, где a*n, a*n –1,..., a* 1, а* 0, a* –1, a* –2,..., a* – m – значения чисел, равные собственным весам соответствующих цифр an, an –1,..., a 1, а 0, a –1, a –2,..., a – m. В современных ЭВМ для представления чисел используются позиционные системы счисления. Число в позиционной системе счисления состоит из п разрядов. Каждый разряд содержит одну из q цифр, где q – основание системы счисления (число различных цифр в алфавите). Поэтому для представления чисел в памяти ЭВМ требуются устройства, имеющие q устойчивых состояний (чтобы различать по состоянию устройства значения цифры в разряде). Наиболее просто, с технической точки зрения, реализуются устройства, имеющие два устойчивых состояния (электромагнитное реле замкнуто или разомкнуто, магнитный материал намагничен или размагничен, электронная схема имеет на выходе высокое или низкое напряжение и т.д.). В связи с этим для представления чисел в ЭВМ применяется двоичная система счисления. Двоичная система счисления имеет алфавит, состоящий только из двух цифр: 0 и 1. Основанием двоичной системы счисления является число два. Кроме двоичной системы счисления при вводе и выводе чисел используются также десятичная, восьмеричная и шестнадцатеричная системы счисления. Запись чисел в этих системах короче и удобнее записи чисел в двоичной системе счисления. Восьмеричная система счисления имеет алфавит из восьми цифр: 0, 1, 2, 3, 4, 5, 6, 7. Основанием восьмеричной системы является число восемь. Шестнадцатеричная система счисления состоит из шестнадцати различных цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, а, b, с, d, e, f. Основанием шестнадцатеричной системы счисления является число шестнадцать. Вид первых шестнадцатеричных чисел от 0 до 15 в десятичной, двоичной, восьмеричной и шестнадцатеричной системах счисления приведен в табл. 5.1.
|