Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_2_Арифметические_основы_ЭВМ.docx
Скачиваний:
0
Добавлен:
11.02.2026
Размер:
425.01 Кб
Скачать

Лекция 2

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

 

1. Алгоритмы перевода чисел

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

1.2. Перевод чисел из двоичной системы счисления в систему счисления с основанием 2n

       1.3. Перевода чисел из  систем счисления с основанием 2nв двоичную систему

 

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

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

        2.2. Арифметические операции в восьмеричной системе счисления

 

3. Компьютерное представление чисел

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

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

          

Представление числовой информации.

С числами связано важное понятие системы счисления.

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

Символами могут быть цифры, буквы, значки.

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

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

В позиционной системе счисления количественное значение каждой цифры зависит от ее места (позиции) в числе.

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

Наиболее известным примером непозиционной системы счисления является римская.

В качестве цифр этой системе счисления используется семь знаков, имеющих следующее количественное значение:

I(1), V(5), X(10), L(50), C(100), D(500), M(1000).

На базе этих цифр строятся числа до 5000.

Значение цифры не зависит от ее положения в числе. Например, в числе ХХХ (30) цифра Х встречается трижды и в каждом случае обозначает одну и ту же величину – число 10, три числа по 10 в сумме дают 30. Числа могут складываться или вычитаться.

Примеры: IV = 4, VI = 6, III = 3, LX = 60, XL = 40, LXXX = 80, XC = 90.

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

Наиболее распространенными в настоящее время позиционными системами счисления являются десятичная, двоичная, восьмеричная и шестнадцатеричная.

Каждая позиционная система счисления имеет определенный алфавит и основание.

Основание системы счисление (q) является важным понятием и определяет:

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

  2. во сколько раз значение цифр, стоящих на соседних позициях отличаются друг от друга

Цифра, стоящая на i-ой позиции или правильно сказать на i-м разряде может иметь значение в пределах:

0aiq-1,

aiопределяет количество единиц i–го разряда числа.

Основание системы счисления может быть только q≥2

q 1 2 3 … 8 10 16

ai 0 0÷1 0÷2 … 0÷7 0÷9 0÷15

Десятичная система счисления имеет алфавит, который состоит из десяти всем известных арабских цифр от 0 до 9 и основание, равное 10.

Восьмеричная – восемь цифр от 0 до 7 и основание 8.

Шестнадцатеричная – десять цифр от 0 до 9 и шесть первых прописных или строчных букв латинского алфавита A (a), B (b), C(c), D(d), E(e), F(f) и основание 16.

Примеры чисел, представленных в кодированном виде в позиционных системах счисления: 975,4810, 348, 41D16, 101102.  

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

975,4810=9•102+7•101+5•100+4•10-1+8•10-2

 В общем случае запись любого вещественного числа в позиционной системе счисления представляется в виде:

А = ± am-1 am-2 ... ai… a1 a0, a-1 a-2 … a-n.

Здесь m- количество целых разрядов, n - количество дробных разрядов, m+n- разрядность числа.

Такая формальная запись числа в q-системе (c основанием q) представляет собой разложение в ряд по степеням q:

Аq=±am-1•qm-1 + am-2 •qm-2 + …+ai•qi+ …+ a0•q0 +a-1•q-1 + a-2•q-2 + …+ a-n•q-n (1)

  Здесь:

Аq– само число,

q – основание системы счисления,

i – номер разряда,

qi- вес i-го разряда,

ai – значение i-го разряда (ai – одна из цифр данной системы счисления),

Допускается сжатая запись:

Аq= ±

Известно из комбинаторики, что число возможных перестановок из q предметов (цифр) по m местам (разрядам) равно qm.

Это означает, количество различных чисел (M), которое можно представить в q системе m– целыми и n – дробными разрядами qm+n. Только для целых чисел M=qm, для только дробных M=qn.

Диапазоны чисел в q системе с m– целыми и n – дробными разрядами:

0 ÷ qm-1 -целые и q-n ÷1-q-n-дробные

Amax = (q-1) ·qm-1+(q-1) ·qm-2+...+(q-1) ·q1+(q-1) · q0+(q-1) ·q-1+...

+(q-1) · q-=qm-1+1-q-n = qm-q-n.

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

Алгоритмы перевода чисел

1.1.Перевод чисел из одной системы счисления в другую (перевод из q-системы ->q -систему)

     Алгоритм перевода числа из любой системы счисления(q) в десятичную осуществляется просто по формуле:

    Аq= ± = А10

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

Для перевода вещественного числа следует переводить его целую и дробную части отдельно.

Пусть переводится из p -> q.

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

Причем при делении надо помнить, что новое основание (q)должно быть представлено в старой q-системе.

Пример: переведём число 75 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:

Ответ: 7510 = 10010112 = 1138 = 4B16.

2.     Для перевода дробной части числа (или числа, у которого «0» целых) необходимо умножить ее на новое основание q. Затем, отбрасывая у результата целую часть, продолжать процесс умножения до тех пор, пока дробная часть произведения не окажется равной нулю или не будет достигнута нужная точность дроби. Целые части произведений, записанные после запятой в прямой последовательности (начиная с первого), образуют дробную часть числа в системе счисления с основанием q.

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

 

Рассмотрим перевод смешанного числа из десятичной в двоичную систему счисления на примере числа 46,625.

1.      Переводим целую часть числа:

                Остаток

46:2=23         0

23:2=11         1

11:2=5          1

  5:2=2          1

  2:2=1          0

  1:2          1

Запишем остатки, начиная с последнего 101110, т.е. 4610=1011102

 

2. Переводим дробную часть числа:

0,625 х 2=1,250

0,250 х 2=0,500

0,500 х 2=1,000

Запишем целые части произведений, начиная с первого – 0,101, т.е. 0,62510 = 0,1012

Ответ: 46,62510 = 101110,1012

 

Для того чтобы выполнить обратное преобразование (перевод из q системы в десятичную), необходимо число в системе счисления с основанием q записать в развернутом виде и выполнить необходимые вычисления. 

Рассмотрим перевод двоичного числа 101110,1012 в десятичное число. Для этого запишем это двоичное число в развернутом виде, используя формулу (1) и выполним необходимые вычисления.

Основание системы: q=2, число разрядов целой части числа: m=6,  число разрядов дробной части числа: n=3, цифры двоичной системы счисления а представлены нулем или единицей.

101110,1012=1х25+0х24+1х23+1х22+1х21+0х20+1х2-1+

0х2-2+1х2-3 =32+0+8+4+2+0+1/2+0+1/8=46,62510

  Рассмотрим перевод шестнадцатеричного числа 9D,116 в десятичное число:

9D,116=9х161+13х160+1х16-1=144+13+1/16=157,062510

 

Соседние файлы в предмете Вводный курс программирования