Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Тема: системы счисления

Лекция№2

Принципы фон Неймана

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

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

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

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

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

 


 

Как было отмечено в первой главе система счисления - совокупность приемов и правил для установления однозначного соответствия между любым числом и его представлением в виде некоторой совокупности знаков (символов). Запись числа в некоторой системе счисления называют кодом числа. Кратко число записывается следующим образом:

 

. (2.1)

 

где: А - количественный эквивалент числа (А);

(anan-1….a2a1a0) - цифры из множества, с помощью которых можно представить число (А).

 

Отдельную позицию в изображении числа принято называть разрядом, а номер позиции - номером разряда. Число разрядов в записи числа называется разрядностью и совпадает с его длиной. В техническом аспекте длина числа интерпретируется как длина разрядной сетки. Если алфавит имеет (p) различных значений, то разряд (аi) в числе рассматривается как (р-ичная) цифра, которой может быть присвоено каждое из (р) значений. Каждой цифре (аі) числа (А) однозначно соответствует ее количественный (числовой) эквивалент - (К(аі)). Количественный эквивалент числа - (КЭЧ) - (А), заданного в определенной системе счисления, является некоторой функцией числовых эквивалентов всех его цифр, т.е.:

 

. (2.2)

 

где: К(А) - количественный эквивалент числа (А);

К (аn) - максимальный количественный (числовой) эквивалент цифры числа (А), находящийся в крайнем левом разряде;

К (а0) - минимальный количественный (числовой) эквивалент цифры числа (А), находящийся в крайнем правом разряде;

 

Тогда при любой конечной разрядной сетке КЭЧ (А) будет принимать в зависимости от количественных эквивалентов отдельных разрядов значения от К(А)min до К(А)max. Диапазон представления (D) чисел в данной системе счисления - это интервал числовой оси, заключенный между максимальными и минимальными числами, представленными заданной разрядностью (длинной разрядной сетки):

 

. (2.3)

 

где: D - диапазон представимых чисел в определенной системе счисления;

К(А)(р)max - максимальный количественный эквивалент числа (А) по основанию (р);

К(А)(р)mіn - минимальный количественный эквивалент числа (А) по основанию (р).

 

Любая система счисления, предназначенная для практического использования, должна обеспечивать: - возможность представления любого числа в заданном диапазоне чисел; - однозначность представления; - краткость и простоту записи чисел; - легкость овладения системой, а также простоту и удобство оперирования ею.

 

2.1 Классификация систем счисления

 

В настоящее время различают позиционные и непозиционные системы счисления. Классификация систем счисления приведена на рис. 2.1.

 

 
 

 


Рисунок 2.1 - Классификация систем счисления

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

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

 

Десятичные числа:              
Римские цифры: I V X L C D M

 

Рисунок 2.2 - Соответствие десятичных чисел римским цифрам

 

В римской системе счисления несколько стоящих рядом одинаковых цифр суммируются рис.2.3:

 

XXX = X+X+X= 30(10).

 

Рисунок 2.3 - Пример записи числа с основанием (10) в Римской системе счисления

 

Если рядом стоят разные цифры, причем младшая – справа от старшей, то они также суммируются, рис.2.4:

 

XVI = X+V+I = 16(10).

 

Рисунок 2.4 - Пример записи числа с основанием (10) в Римской системе счисления

 

Если же младшая цифра находится слева от старшей, то она вычитается из этой старшей цифры рис.2.5:

 

IX = X – I = 9(10).

 

Рисунок 2.5 - Пример записи числа с основанием(10) в Римской системе счисления

 

Недостатки римской системы счисления заключаются в следующем:

- в пределе, теоретически, она имеет бесконечное количество цифр;

- арифметические действия над числами очень сложны;

- отсутствует цифра {0}.

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

 

Разряды: Десятки Единицы
Цифры:    

 

Рисунок 2.6 - Пример записи числа в десятичной системе счисления

 

При таком положении цифр получается число двенадцать (12(10)). Нижний индекс при записи числа обозначает основание системы счисления, в данном случае ((10)) означает десятичную систему счисления. Если поменять местами цифры 1 и 2, рис.2.7:

 

Разряды: Десятки Единицы
Цифры:    

 

Рисунок 2.7 - Пример записи числа в десятичной системе счисления

 

получается число двадцать один (21(10)). Для определения количественного эквивалента полной записи числа в позиционной системе счисления используется некоторая функция от количественных эквивалентов цифр. Если этой функцией является функция сложения, то систему называют аддитивной, если же используется функция умножения - систему называют мультипликативной.

Любое число в позиционной системе счисления может быть записано в виде:

 

. (2.4)

 

где - количественный эквивалент числа (А), состоящего из (n) цифр;

- цифра, ;

- основание системы счисления.

В левой части равенства записано символическое изображение числа.

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

Правило: Количественный эквивалент числа в позиционной системе счисления равен сумме произведений количественных значений цифр и степеней основания, показатели которых равны номерам разрядов, причем нумерация разрядов начинается с (0).

Например: , n=4, p=10, тогда можно записать:

 

. (2.5)

 

тогда:

 

.

 

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

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

 

{0,1,2,3,4,5,6,7,8,9},

 

Рисунок 2.8 - Множество цифр использующихся в десятичной системе счисления

 

в двоичной системе счисления используются цифры из множества рис.2.9:

 

{0,1},

 

Рисунок 2.9 - Множество цифр использующихся в двоичной системе счисления

 

в троичной системе счисления используются цифры из множества рис.2.10:

{0,1,2},

 

Рисунок 2.10 - Множество цифр использующихся в троичной системе счисления

 

в пятеричной системе счисления используются цифры из множества рис.2.11:

 

{0,1,2,3,4},

 

Рисунок 2.11 - Множество цифр использующихся в пятеричной системе счисления

 

в восьмеричной системе счисления используются цифры из множества рис.2.12:

 

{0,1,2,3,4,5,6,7},

 

Рисунок 2.12 - Множество цифр использующихся в восьмеричной системе счисления

 

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

 

{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}.

 

Рисунок 2.13 - Множество цифр и букв использующихся в шестнадцатеричной системе счисления

 

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

 

. (2.6)

 

где - количественный эквивалент числа (А);

- цифра,

- основание системы счисления.

s - количество разрядов в целой части числа слева от запятой;

m - количество разрядов в дробной части числа справа от запятой.

 

Исходя из выше сказанного можно записать:

 

.

 

или: .

 

Соответствие чисел в (10 - ой), (16 – ой), (8 – ой) и (2 – ой) системах счисления приведены в табл. 2.1.

 

Таблица 2.1 - Соответствие чисел в (10 - ой), (16 - ой), (8 - ой) и (2 - ой) системах счисления

Десятеричная Х(10) Шестнадцатеричная Х(16) Восьмеричная Х(8) Двоичная Х(2)
       
       
       
       
       
       
       
       
       
       
  А    
  В    
  С    
  D    
  Е    
  F    

 

Помимо позиционных однородных систем известны также позиционные неоднородные (смешанные) системы счисления.

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

Задают неоднородные системы с помощью двухстрочных матриц вида:

 

. (2.7)

 

Здесь в первой строке матрицы указано число разрядов (ti), отводимых в (i-й) группе разрядов (i=) представления числа для записи цифр по основанию (ki), которое указано во второй строке того же столбца.

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

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

Например: надо выразить время в 2- года, 25 - суток, 14 - часов, 35- минут и 48 секунд, в секундах. Тогда можно записать, что основание в каждом разряде равно:

цифры имеют следующие значения:

По формуле (2.4) можно записать:

 

.

 

Существует так же неоднородная двоично-пятиричная система счисления, в которой в нечетных разрядах основание р1=5,(аі= 0 - 4), а в четных разрядах основание р2=2,(аі= 0,1).

Так как произведение весов двух соседних (четного и нечетного) разрядов равно десяти, то двумя двоично-пятиричными разрядами можно кодировать одну десятичную цифру.

Пример записи десятичных цифр от 0 до 9 в двоично-пятиричной системе приведен в табл. 2.2.

 

Таблица 2.2 - Пример записи десятичных цифр в двоично-пятиричной системе

а(10) а(2-5) а(10) а(2-5)
       
       
       
       
       

 

Например: записать число 853(10) в двоично-пятиричной системе счисления.

Решение: исходя из значений, представленных в табл. 2.2 имеем:

 

8(10)=13(2-5)
5(10)=10(2-5)
3(10)=03(2-5)

 

тогда: А(10) = 131003(2-5).

 

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

 

. (2.8)

 

где: А - число;

- цифры из множества, с помощью которых можно записать число (А);

- основание системы счисления, символами которой кодируются цифры;

Р - основание исходной системы счисления.

 

Классическим примером кодированной системы счисления есть – двоично-десятичная система.

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

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

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

Например: десятичное число 12(10) записать в двоично-десятичной системе счисления = 00010010(2-10).

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

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

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

Примером системы счисления с естественными разрядами весов может служить двоично-десятичная система с весами (8-4-2-1).

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

Примером системы счисления с искусственными разрядами весов может служить двоично-десятичная система с весами (2-4-2-1, 5-2-1-3).

Искусственный порядок весов широко применяется в аналогово-цифровых и цифро-аналоговых преобразователях.

В табл. 2.3 представлены числа, записанные в десятичной системе счисления и в кодированной системе счисления с естественным и искусственным порядком весов.

 

Таблица 2.3 - Числа десятичной системы счисления и кодированной системе счисления с естественным и искусственным порядком весов.

Десятичная СС Кодированная СС 8-4-2-1 Кодированная СС 4-2-2-1 Кодированная СС 2-4-2-1
       
       
       
       
       
       
       
       
       
       

 

Например: десятичное число 1593(10) в двоично-десятичной системе счисления с естественными разрядами весов 8-4-2-1 имеет вид: 0001 0101 1001 0011, а в двоично-десятичной системе счисления с искусственными разрядами весов 2-4-2-1 имеет вид: 0001 0101 1111 0011.

В современных компьютерных системах помимо рассмотренных систем счисления встречаются и системы счисления с непостоянными разрядами весов. Наиболее известным примером таких систем является код Грея.

Кодом Грея порядка (n) называется любая циклическая последовательность всех наборов из (0) и (1) длины (n), в которой два соседних набора отличаются ровно в одной компоненте.

Код Грея является одношаговым кодом, т.е. при переходе от одного числа к другому всегда меняется лишь какой то один из всех битов. Соответствие десятичных чисел в диапазоне от 0 до 15 двоичным числам и коду Грея приведено в табл. 2.4.

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

В коде Грея два соседних значения отличаются только в одном разряде.

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

Таблица 2.4 - Соответствие десятичных чисел в диапазоне от 0 до 15 двоичным числам и коду Грея

Десятичные числа Двоичные числа Код Грея
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

 

 

2.2 Выбор системы счисления для использования в компьютерной системе

 

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

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

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

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

- минимум оборудования. Чтобы решить, какой системе отдать предпочтение с точки зрения получения минимума расхода оборудования при прочих равных условиях, сделаем предположение, что все машины оперируют с одним и тем же количеством чисел. Если (bi) – количество цифр, с которыми оперирует (i-я) машина; (ni) - количество разрядов, в каждом числе (i-ой) машины, то произведение:

 

. (2.9)

 

где Di - количество цифроразрядов, приходящихся на 1 число;

bi - количество цифр;

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

 

Таким образом, задача в данном случае сводится к нахождению такой системы счисления, которая имеет самое малое количество цифроразрядов при заданном количестве чисел – операндов (N):

 

. (2.10)

 

формулу (2.10) можно переписать в другом виде:

 

. (2.11)

 

подставив это значение (ni) в соотношение (2.9), получим:

 

. (2.12)

 

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

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

 

. (2.13)

 

теперь задача нахождения D(b)min.сводится к обыкновенному исследованию функции (2.13) на экстремум:

 

(2.14)

 

откуда . Выясним теперь, насколько каждое из целочисленных оснований (bi) уступает (bopt) Для этого оценим каждое основание (bi) не абсолютной величиной (Di), а его относительным значением:

 

. (2.15)

 

где:

 

(2.16)

 

Подставив выражение (2.16) в формулу (2.15), получим выражение, не зависящее от величины (N):

 

. (2.17)

 

Произведя расчеты по формуле (2.17) для некоторых оснований системы счисления, сведем полученные результаты в табл. 2.5:

 

Таблица 2.5 - Соотношение оснований систем счисления и эффективности

bi                  
Di(отн.) 1,062 1,004 1,062 1,143 1,232 1,3 1,416 1,507 1,597

 

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

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

- простота формального аппарата для синтеза цифровых устройств.

Математическим аппаратом, позволяющим относительно просто и экономично строить цифровые схемы, узлы, блоки, является алгебра логики.

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

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

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

Большой практический интерес представляют двоично-кодированные системы счисления: двоично - десятичная Binary Code Decimal (BCD), восьмеричная (octal), шестнадцатеричная (hexadecimal). В них каждый разряд записывается с помощью нескольких двоичных разрядов, имеющих определенные веса. Цифры восьмеричной системы представляются тремя двоичными разрядами (триадами), десятичной и шестнадцатеричной - четырьмя (тетрадами). Также следует отметить, что восьме- и шестнадцатеричные системы относятся к особому классу систем с основанием кратным (2). Эта особенность обуславливает их широкое применение в процессе взаимодействия с пользователем компьютерной системы. С одной стороны, они облегчают восприятие двоичной информации, т.к. любое двоичное представление числа может быть разбито на триады или тетрады, которые проще для визуального восприятия человеком. С другой стороны, они часто используются в качестве промежуточных систем счисления при переводе из десятичной системы счисления в двоичную систему счисления и наоборот.

Двоичная система счисления вводит понятие основной структурной единицы информации, которой является бит (bit - bi nary digi t). Бит соответствует одному двоичному разряду числа, представленного в двоичной системе счисления.

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

 

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

 

Задача перевода чисел из одной позиционной системы счисления в другую является одной из главных в компьютерной арифметике. Ее можно сформулировать следующим образом: требуется перевести некоторое число (X), записанное в позиционной системе счисления с основанием (k1), в такую же систему счисления, имеющую основание (k2).

Другими словами: по изображению операнда (X) в системе счисления с основанием (k1) найти изображение (Y) того же операнда в системе с основанием (k2).

 

. (2.18)

 

. (2.19)

 

Существуют 2 группы методов перевода: табличные и расчетные.

1.Табличные методы. В простейшем случае в памяти компьютерной системы хранится таблица соответствия между всеми числами в системах счисления с основаниями (k1) и (k2), а сама процедура перевода сводится к обращению к этой таблице. Плюс табличных методов перевода заключается в высокой скорости перевода. Минус табличных методов перевода заключается в том, что размеры такой таблицы и, следовательно, занимаемый ею объем памяти, часто оказываются технически неприемлемыми. Поэтому с целью уменьшения занимаемого объема памяти в ней хранят только таблицы соответствия цифр заданных систем счисления и весов их разрядов. Перевод чисел осуществляется путем обращения к этим таблицам и выполнения операций умножения и сложения в соответствии с выражением для КЭЧ. Если, например, числа в системе с основанием (k1) представлены (n - разрядами), то по первому варианту размерность таблицы, сохраняемой в памяти, определяется () строками, а по второму варианту - (k1+n+1) строками.

2.Расчетные методы. В общем виде решение задачи перевода можно представить как нахождение коэффициентов (yj) нового ряда, изображающего число в системе счисления с основанием (k2).

Тривиальным методом решения является. Основная трудность - в выборе максимальной степени (), которая все еще содержится в числе (X).

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

 

(2.20)

Для перевода операнда (X) в систему с основанием (k2) необходимо записать (X) в форме для вычисления количественного эквивалента, далее заменить цифры (xi) и основания (k1) их эквивалентами в системе с основанием (k2), а потом вычислить полученное выражение по правилам арифметики в системе с основанием (k2). Этот алгоритм удобно использовать в случае, когда (k1<k2), причем (k2) соответствует системе счисления, где просто и "привычно" выполняются операции сложения и умножения (например, десятичной системе). Для упрощения вычислений при этом используют схему Горнера, в соответствии с которой формула для КЭЧ преобразуется путем многократного вынесения за скобки:

 

 

Y=(...((xs-1k1+xs-2)k1+xs-3)k1+...+x1)k1+x0+…+(..(((0+x-m) k1-1 +

+x-m+1)k1-1+x-m+2)k1-1+...+x-1)k1-1. (2.21)

 

Отсюда видно, что для получения целой части числа необходимо выполнить (s) шагов вычислений, а для получения дробной - (m).

Т.е., алгоритм МНЗ, по существу, состоит из двух алгоритмов, а именно: перевода целого числа, выполняемого в соответствии с рекуррентной формулой

 

(2.22)

 

где А0=0, As - целая часть исходного числа в системе счисления с основанием (k2); и перевода дробей по рекуррентной формуле:

 

(2.23)

 

где В0=0, Вm - дробная часть исходного числа в системе с основанием

(k2 ).

Рассмотренный алгоритм не имеет каких-либо теоретических ограничений на область своего применения.

Однако при переводе целых чисел в системы с "непривычными" основаниями, особенно в случае (k1>k2), использование этого алгоритма связано с весьма громоздкими вычислениями.

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

В случае (k1>k2). Целое число (X) запишем в системе с основанием (k2) с использованием схемы Горнера:

 

Y=(…((yr-1k2+yr-2)k2+yr-3)k2+…+y1)k2+y0. (2.24)

 

Правую часть выражения разделим на величину основания (k2). В результате получим первый остаток (y0) и целую часть:

 

Y=(…((yr-1k2+yr-2)k2+yr-3)k2+…+y1). (2.25)

 

Разделив целую часть на(k2), найдем второй остаток(y1).

Повторяя процесс деления r раз, получим последнее целое частное, которое, по условию, меньше основания системы счисления (k2) и является старшей цифрой числа, представленного в системе с основанием (k2).

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

- для перевода целого числа в новую систему его надо последовательно делить на основание новой системы счисления до тех пор, пока не получится частное, у которого целая часть равна (0).

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

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

- операнд (X) необходимо делить на (k2) по правилам целочисленного деления в исходной системе с основанием (k1) до получения остатка.

Если частное от такого деления не нуль, то далее частное рассматривается как делимое и процесс деления на (k2). продолжают.

Как только очередное частное станет равным нулю, процесс деления прекращают.

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

Последний остаток является старшей цифрой результата.

Например: необходимо перевести из десятичной системы счисления в двоичную систему счисления целое число А = 53(10).

Решение: произведем последовательное деление исходного числа (53(10)) на основание новой системы счисления (2). Перевод целого числа А = 53(10) из десятичной системы счисления в двоичную систему счисления, приведен на рис. 2.14:

 

           
           
           
           
           
           
           

 

Рисунок 2.14 - Перевод целого числа А = 53(10) из десятичной системы счисления в двоичную систему счисления

 

Из сформулированного выше правила при перевод целого числа А = 53(10) из десятичной системы счисления в двоичную систему счисления получим:

53(10) – 110101(2).

Например: необходимо перевести из десятичной системы счисления в троичную систему счисления целое число А = 53(10).

Решение: произведем последовательное деление исходного числа (53(10)) на основание новой системы счисления (3). Перевод целого числа А = 53(10) из десятичной системы счисления в троичную систему счисления, приведен на рис. 2.15:

 

       
       
       
       
       

 

Рисунок 2.15 - Перевод целого числа А = 53(10) из десятичной системы счисления в троичную систему счисления

 

Из сформулированного выше правила при перевод целого числа А = 53(10) из десятичной системы счисления в троичную систему счисления получим:

 

53(10) – 1222(3).

Например: необходимо перевести из десятичной системы счисления в пятеричную систему счисления целое число А = 53(10).

Решение: произведем последовательное деление исходного числа (53(10)) на основание новой системы счисления (5). Перевод целого числа А = 53(10) из десятичной системы счисления в пятеричную систему счисления, приведен на рис. 2.16:

     
     
     
     

 

 

Рисунок 2.16 - Перевод целого числа А = 53(10) из десятичной системы счисления в пятеричную систему счисления

 

Из сформулированного выше правила при перевод целого числа А = 53(10) из десятичной системы счисления в пятеричную систему счисления получим:

 

53(10) - 203(5).

 

Например: необходимо перевести из десятичной системы счисления в восьмеричную систему счисления целое число А = 53(10).

Решение: произведем последовательное деление исходного числа (53(10)) на основание новой системы счисления (8). Перевод целого числа А = 53(10) из десятичной системы счисления в восьмеричную систему счисления, приведен на рис. 2.17:

   
   
   
   

 

Рисунок 2.17 - Перевод целого числа А = 53(10) из десятичной системы счисления в восьмеричную систему счисления

 

Из сформулированного выше правила при перевод целого числа А = 53(10) из десятичной системы счисления в восьмеричную систему счисления получим:

 

53(10) - 65(8).

Например: необходимо перевести из десятичной системы счисления в шестнадцатеричную систему счисления целое число А = 53(10).

Решение: произведем последовательное деление исходного числа (53(10)) на основание новой системы счисления (16). Перевод целого числа А = 53(10) из десятичной системы счисления в шестнадцатеричную систему счисления, приведен на рис. 2.18:

   
   
   
   

 

Рисунок 2.18 - Перевод целого числа А = 53(10) из десятичной системы счисления в шестнадцатеричную систему счисления

 

Из сформулированного выше правила при перевод целого числа А = 53(10) из десятичной системы счисления в шестнадцатеричную систему счисления получим:

 

53(10) - 35(16).

 

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

 

.

 

Например: перевести из двоичной системы счисления в десятичную систему счисления целое число А = 110101(2).

Решение: Запишем число (А) в виде суммы произведений степеней основания на соответствующую цифру в десятичной системе счисления:

 

А = 110101(2) = 1∙ 25 + 1∙ 24 + 0∙ 23 + 1∙ 22 + 0∙ 21 + 1∙ 20 = 1∙ 32 + 1∙ 16 + 1∙ 25 + 0∙ 8 + 1∙ 4 + 0∙ 2 + 1∙ 1 = 32 + 16 + 0 + 4 + 0 + 1 = 53(10).

 

Таким образом, получаем: 110101(2) - 53(10).

Например: перевести из троичной системы счисления в десятичную систему счисления целое число А = 1222(3).

Решение: Запишем число (А) в виде суммы произведений степеней основания на соответствующую цифру в десятичной системе счисления:

 

А = 1222(3) = 1∙ 33 + 2∙ 32 + 2∙ 31 + 2∙ 30 = 1∙ 27 + 2∙ 9 + 2∙ 3 + 2∙ 1 = 27 + 18 + 6 + 2 = 53(10).

 

Таким образом, получаем: 1222(3)- 53(10).

Например: перевести из пятеричной системы счисления в десятичную систему счисления целое число А = 203(5).

Решение: Запишем число (А) в виде суммы произведений степеней основания на соответствующую цифру в десятичной системе счисления:

 

А = 203(5) = 2∙ 52 + 0∙ 51 + 3∙ 50 = 2∙ 25 + 0∙ 5 + 3∙ 1 = 50 + 0 + 3 = 53(10).

 

Таким образом, получаем: 203(5)- 53(10).

Например: перевести из восьмеричной системы счисления в десятичную систему счисления целое число А = 65(8).

Решение: Запишем число (А) в виде суммы произведений степеней основания на соответствующую цифру в десятичной системе счисления:

 

А = 65(8) = 6∙ 81 + 5∙ 80 = 48 + 5 = 53(10).

 

Таким образом, получаем: 65(8)- 53(10).

Например: перевести из шестнадцатеричной системы счисления в десятичную систему счисления целое число А = 35(16).

Решение: Запишем число (А) в виде суммы произведений степеней основания на соответствующую цифру в десятичной системе счисления:

 

А = 35(16) = 3∙ 161 + 5∙ 160 = 48 + 5 = 53(10).

 

Таким образом, получаем: 35(16)- 53(10).

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

Например, если перевод осуществляется в восьмеричную систему счисления, то группы будут содержать три цифры (8 = 23), такая группа называется триадой. Если перевод осуществляется в шестнадцатеричную систему счисления, то группы будут содержать четыре цифры (16 = 24), такая группа называется тетрадой. В целой части числа группировка производится справа налево, в дробной части – слева направо. Если в последней группе недостает цифр, то дописываются нули: в целой части – слева, в дробной – справа. Затем каждая группа заменяется соответствующей цифрой новой системы счисления.

Например: необходимо из двоичной системы счисления перевести в восьмеричную систему счисления целое число: А = 110101(2).

Решение: исходя из вышесказанного, разобьем целое число: А = 110101(2) на триады и получим рис.2.19:

 

           
22 21 20 22 21 20
           
           
             

 

Рисунок 2.19 - Перевод целого числа А = 110101(2) в восьмеричную систему счисления

 

Таким образом, получаем: 110101(2) - 65(8).

Например: необходимо из двоичной системы счисления перевести в шестнадцатеричную систему счисления целое число: А = 110101(2).

Решение: исходя из вышесказанного, разобьем целое число: А = 110101(2) на тетрады и получим рис.2.20:

 

               
23 22 21 20 23 22 21 20
               
   
                 

 

Рисунок 2.20 - Перевод целого числа А = 110101(2) в шестнадцатеричную систему счисления

 

Таким образом, получаем: 110101(2) - 35(16).

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

Например: необходимо из восьмеричной системы счисления перевести в шестнадцатеричную систему счисления целое число: А = 65(8).

Решение: исходя из вышесказанного, переведем сначала целое число: А = 65(8) в двоичную систему счисления, разбив его на триады, а затем триады преобразовав в тетрады получим число в шестнадцатеричной системе счисления рис.2.21:

 

     
             
               
           
                               

 

Рисунок 2.21 - Перевод из восьмеричной системы счисления в шестнадцатеричную систему счисления целого числа А = 65(8)

 

Таким образом, получаем: 65(8) - 35(16).

Например: необходимо из шестнадцатеричной системы счисления перевести в восьмеричную систему счисления целое число: А = 35(16).

Решение: исходя из вышесказанного, переведем сначала целое число:

А = 35(16) в двоичную систему счисления, разбив его на тетрады, а затем тетрады преобразовав в триады получим число в восьмеричной системе счисления рис.2.22:

 

           
                       
                 
                 
                                       

 

Рисунок 2.22 - Перевод из шестнадцатеричной системы счисления в восьмеричную систему счисления целого числа А = 35(16)

Таким образом, получаем: 35(16) - 65(8).

При переводе из десятичной системы счисления двоично-десятичную систему счисления подразумевают, что двоично-десятичная система счисления представляет собой систему с основанием (10), цифры которой закодированы в виде четырехразрядных двоичных чисел (тетрад), либо с естественным порядком весов (8-4-2-1), либо с искусственным порядком весов.

Например: необходимо из десятичной системы счисления перевести в двоично-десятичную систему счисления целое число: А = 118(10).

Решение: исходя из вышесказанного, при переводе целого десятичного числа: А = 118(10) в двоично-десятичную систему счисления, необходимо разбить его на тетрады рис. 2.23:

 

     
                       
23 22 21 20 23 22 21 20 23 22 21 20
                       
                         

 

Рисунок 2.23 - Перевод из десятичной системы счисления в двоично-десятичную систему счисления целого числа А = 118(10).

 

Таким образом, получаем: 118(10) - 100011000(2-10).

Например: необходимо из двоично-десятичной системы счисления перевести в десятичную систему счисления целое число: А = 100011000(2-10).

Решение: исходя из вышесказанного, при переводе целого двоично-десятичного числа: А = 100011000(2-10).в десятичную систему счисления, необходимо разбить его на тетрады рис. 2.24:

 

                       
23 22 21 20 23 22 21 20 23 22 21 20
                       
     

 

Рисунок 2.24 - Перевод из двоично-десятичной системы счисления в десятичную систему счисления целого числа А = 100011000(2-10)

 

Таким образом, получаем: 100011000(2-10) - 118(10)

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

Например: перевести из пятеричной системы счисления в троичную систему счисления целое число А = 203(5).

Решение: Исходя из вышесказанного сначала необходимо целое число:

А = 203(5) записанное в пятеричной системы счисления, перевести в десятичную систему счисления, а затем полученное число из десятичной системы счисления перевести в троичную систему счисления.

Действие №1: А = 203(5) - 10.

 

А = 203(5) = 2∙ 52 + 0∙ 51 + 3∙ 50 = 2∙ 25 + 0∙ 5 + 3∙ 1 = 50 + 0 + 3 = 53(10).

 

Действие №2: А = 53(10) – 3, рис.2.25:

 

       
       
       
       
       

 

Рисунок 2.25 - Перевод целого числа А = 53(10) из десятичной системы счисления в троичную систему счисления

 

Таким образом, получаем: 203(5) - 1222(3).

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

Пусть правильная (рх – ичная) дробь А(рх) уже переведена и представлена в новой системе счисления с основанием (р):

 

А(рх) = а1 ∙ р-1 + а2 ∙ р-2 + а3 ∙ р-3 +….+ аn ∙ р-n. (2.26)

 

где а1 - целая часть первого произв

<== предыдущая лекция | следующая лекция ==>
Подтема №1:базовые понятия и определения компьютерной арифметики и компьютерной системы | Представление числовых данных в компьютерных системах
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 883; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.458 сек.