АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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

Читайте также:
  1. A) на этапе разработки концепций системы и защиты
  2. L.1.1. Однокомпонентные системы.
  3. L.1.2.Многокомпонентные системы (растворы).
  4. V1: Экосистемы. Экология сообществ.
  5. V2: Женская половая система. Особенности женской половой системы новорожденной. Промежность.
  6. V2: Мужская половая система. Особенности мужской половой системы новорожденного.
  7. а занятие Центральные органы эндокринной системы
  8. А) Обычные средства (системы) поражения
  9. АВТОМАТИЗИРОВАННЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ ОРГАНОВ ЮСТИЦИИ
  10. Анализ реализации функций системы самоменеджмента на предприятии (на примере ООО «ХХХ»)
  11. Анализ текущей ситуации – предпосылки создания системы повышения финансовой грамотности
  12. Анализ эволюционных процессов семейной системы (семейная история, семейный мир, семейная легенда, семейный сценарий, жизненный цикл семьи).

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

Одно и то же число можно представить по-разному. Например, число четыре можно представить в виде слова “четыре”, изобразить его по-древнеримски – IV, или договориться, что число обозначается соответствующим количеством палочек – |.

Способ представления чисел называется системой счисления. Системы счисления бывают двух видов – позиционные, в которых числовое значение каждой цифры в число зависит от ее номера разряда (позиции) в записи числа, и непозиционные – все остальные. Примером позиционной системы является общепринятая десятичная система: число состоит из трёх троек (333), но каждая цифра имеет разное числовое значение 3,30,300. Непозиционной – римская: Х означает 10, запись ХХ означает 20, т.е. каждая цифра имеет одно и то же числовое значение Х(10)+Х(10).

Представление целых неотрицательных чисел

В позиционных системах значение записи целого числа определяется по следующему правилу: пусть anan-1an-2…a1a0 — запись числа A, аi – цифры, тогда

A = an·pn + an-1·pn-1 + an-2·pn-2 +...+ a1·p1 + a0·p0 (1)

где p — целое число большее 1, которое называется основанием системы счисления.

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

Пример:

1) Десятичная система: p = 10, цифры: 0,1,2,3,4,5,6,7,8,9.

Число 3635 = 3·103 + 6·102 + 3·101 + 5·100

2) Троичная система: p = 3, цифры: 0,1,2.

Число 1213 = 1·32 + 2·31 + 1·30

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

Представление отрицательных и дробных чисел

Во всех позиционных системах для записи отрицательных чисел, так же как и в десятичной системе используется знак ‘–‘. Для отделения целой части числа от дробной используется запятая. Значение записи числа A определяется по формуле, являющейся обобщением формулы (1):

A = an·pn + an–1·pn–1 + …+ a1·p1 + a0·p0 + a–1·p–1 + a–2·p–2 +…+ am–1·p–(m–1) + amp–m (2)

Пример:

36,710 = 3·101 + 6·100 + 7·10–1

–3, 214 5 = –(3·50 + 2·5–1 + 1·5–2 + 4·5–3)

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

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

Перевод чисел из произвольной системы счисления в десятичную выполняется непосредственным вычислением по формуле (1) для целых и формуле (2) для дробных чисел.

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

Перевести число из десятичной системы в систему с основанием p – значит найти коэффициенты в формуле (2). Иногда это легко сделать простым подбором. Например, пусть нужно перевести число 23,5 в восьмеричную систему, для этого представим число 23,5 в виде суммы степеней числа 8.

Нетрудно заметить, что 23,5 = 16+7+0,5 = 2·8+7+4/8 = 2·81+7·80+4·8–1 =27,48.

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

1. Найдем частное и остаток от деления числа на p. Остаток будет очередной цифрой ai (i=0,1,2 …) записи числа в новой системе счисления.

2. Если частное равно нулю, то перевод числа закончен, иначе - пункт 1.

Замечание 1. Цифры ai в записи числа нумеруются справа налево.

Замечание 2. Если p>10, то необходимо ввести обозначения для цифр с числовыми значениями, большими или равными 10, обычно это латинские буквы.

Пример:

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

165: 7 = 23 (остаток 4) => a0 = 4 (цифра 0 разряда)

23: 7 = 3 (остаток 2) => a1 = 2 (цифра 1 разряда)

3: 7 = 0 (остаток 3) => a2 = 3 (цифра 2 разряда)

Выпишем результат: a2a1a0, т.е. 3247.

Выполнив проверку по формуле (1), убедимся в правильности перевода:

3247=3·72+2·71+4·70=3·49+2·7+4 = 147+14+4 = 16510.

Для перевода дробных частей чисел применяется алгоритм, полученный на основании формулы (2):

1. Умножим дробную часть числа на p.

2. Целая часть результата будет очередной цифрой am (m = –1,–2, –3 …) записи числа в новой системе счисления. Если дробная часть результата равна нулю, то перевод числа закончен, иначе применяем к ней пункт 1.

Замечание 1. Цифры am в записи числа располагаются слева направо в порядке возрастания абсолютного значения m.

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

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

0,625·2 = 1,25 (дробная часть 0,25; целая часть 1) => a–1 =1

0,25·2 = 0,5 (дробная часть0,5; целая часть 0) => a–2 = 0

0,5·2 = 1,00 (дробная часть 0,0 – перевод закончен; целая часть 1) => a–3 = 1

Итак, число 0,62510 = 0,a–1 a–2 a–3 = 0,1012

Выполнив проверку по формуле (2), убедимся в правильности перевода:

0,1012=1·2–1 + 0·2–2 + 1·2–3=1/2 + 1/8 = 0,5 + 0,125 = 0,625.

Пример 2: Перевести число 0,165 в четверичную систему счисления, ограничившись четырьмя четверичными разрядами.

0,165·4 = 0,66 (целая часть 0) => a–1=0

0,66·4 = 2,64 (целая часть 2) => a–2= 2

0,64·4 = 2,56 (целая часть 2) => a–3= 2

0,56·4 = 2,24 (целая часть 2) => a–4= 2

Итак, 0,16510 ≈ 0,02224

Выполним обратный перевод, чтобы убедиться, что абсолютная погрешность не более 4–4:

0,02224 = 0·4–1+2·4–2+2·4–3+2·4–4 = 2/16+2/64+2/256 = 1/8+1/32+1/128 = 21/128 = 0,1640625

|0,1640625–0,165| = 0,00094 < 4–4 = 0,00390625.

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

В этом случае сначала следует выполнить перевод числа в десятичную систему, а затем из десятичной - в требуемую.

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

Перевод чисел в систему счисления с кратным основанием

Пусть p и q – основания двух систем счисления. Будем называть эти системы системами счисления с кратными основаниями, если p = qn или q = pn, где n – натуральное число. Так, например, системы счисления с основаниями 2 и 8 являются системами счисления с кратными основаниями, т.к. 8 = 23, а системы 4 и 8 не являются кратными, т.к. 8 ≠ 4n

Пусть p = qn и требуется перевести число из системы счисления с основанием q в систему счисления с основанием p. Разобьем целую и дробную части записи числа на группы по n последовательно записанных цифр влево и вправо от запятой. Если количество цифр в записи целой части числа не кратно n, то надо дописать слева соответствующее количество нулей. Если количество цифр в записи дробной части числа не кратно n, то нули дописываются справа. Каждая такая группа цифр числа в старой системе счисления будет соответствовать одной цифре числа в новой системе счисления. В таблице 1 приведены значения цифр в наиболее часто используемых системах счисления.

Таблица 1

         
         
         
         
         
         
         
         
         
         
         
        A
        B
        C
        D
        E
        F
         

Пример: Переведем 1100001,1112 в 4-ную систему счисления.

Дописав нули и выделив пары цифр (так как основание 4 можно представить в виде степени основания 2, это 2 во 2 степени), получим 01 10 00 01, 11 102.

Теперь выполним перевод отдельно каждой пары цифр, пользуясь пунктом «Перевод чисел из одной произвольной системы в другую» или таблицей 1:


012=110=14

102=210=24

002=010=04

 

012=110=14

112=310=34

102=210=24


Итак, 1100001,1112 = 01 10 00 01, 11 102 = 1201,324.

Пример: Переведем 1100001,1112 в 8-ную систему счисления.

Дописав нули и выделив тройки цифр (так как основание 8 можно представить в виде степени основания 2, это 2 в 3 степени), получим 001 100 001, 111 2.

Теперь выполним перевод отдельно каждой тройки цифр, пользуясь пунктом «Перевод чисел из одной произвольной системы в другую» или таблицей 1:


0012=110=18

1002=410=48

0012=110=18

1112=710=78


Итак, 1100001,1112 = 01 100 001, 1112 = 141,78.

Пусть теперь требуется выполнить перевод из системы с большим основанием q, в систему с меньшим основанием p, т.е. q = pn. В этом случае одной цифре числа в большей системе счисления соответствует n цифр числа в меньшей системе счисления.

Пример: Выполним проверку предыдущего перевода числа. Заменим каждую цифру восьмеричного числа тремя цифрами двоичного:

1 4 1, 7 8 = 001 100 001, 111 2 = 1100001,1112

Двоичная, восьмеричная, и шестнадцатеричная системы счисления.

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

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

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

Пример: Переведем число 110101001010101010100,112 в шестнадцатеричную систему счисления.

Воспользуемся кратностью оснований систем счисления (16=24). Сгруппируем цифры по четыре, дописав слева и справа нужное количество нулей, и, сверяясь с таблицей 1, получим:

«2»           0100,  
«16»   А       4, С

110101001010101010100,112 = 1A9554,C16

 

Арифметические действия с числами в одной системе счисления.

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

в 2-ной системе 12+12=102,

в 3-ной системе 23+13= 1+2= 1+1+1= 103,

в 8-ной системе 18+78 = 2+6=…=5 +3 =108, и т.д.

При сложении чисел по разрядам, если сумма цифр данного разряда равна или больше 10n, то в этом разряде оставляем цифру единиц, а старший разряд увеличиваем на 1.

Пример: сложим два 16-ричных числа DA6 и F1C.

Складываем одноимённые разряды, если сумма цифр данного разряда равна или больше 16, то в этом разряде оставляем цифру разности суммы цифр и 16, а старший разряд увеличиваем на 1.

0) 6+C= (6+12)10=1810=(16+2)10=1016+216= 1216 (2 оставим в младшем разряде, а 1 переносим в старший разряд)

1) А+1 = (10+1)10 + 1 = (12)10 = С16 (12 это цифра С шестнадцатеричной системы)

2) D+F =(13+15)10 =(28)10 =(16 +12)10 =1С16 (12 это цифра С16, а в старший разряд переносим 1)

DA6 + F1C = 1СС216

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

Например: 102 - 12 =12; 1102 – 12 = 1012; 1108 – 58 = 1038 (из 0 вычесть 5 нельзя, занимаем из старшего разряда единицу, она в младшем разряде становится 10, 108 – 58 = 38 ); 1108-158=638.

    А В С
    5A   6C
А     6E  
В        
С        

Умножение и деление чисел производится аналогично, используя таблицу умножения цифр данной системы счисления, например, 16-ричной (фрагмент таблицы):

 

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

Поиск по сайту:



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