Опубликован: 05.06.2018 | Доступ: свободный | Студентов: 706 / 178 | Длительность: 07:59:00
Лекция 6:

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

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

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

Система счисления — совокупность приемов и правил для записи чисел цифровыми знаками.

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

  • возможность представления любого числа в рассматриваемом диапазоне величин;
  • единственность представления (каждой комбинации символов должна соответствовать одна и только одна величина);
  • простоту оперирования числами.

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

  • позиционные,
  • непозиционные.

Непозиционные системы счисления (СС) характеризуются тем, что для представления какого-либо числа используется определенный набор символов, который изменяется при изменении диапазона представляемых чисел. В качестве типичного примера непозиционной системы счисления обычно приводится римская система счисления, в которой для небольших чисел и коррекции чисел с большим значением используется символ I. Для представления больших чисел приходится вводить новые символы (V, X, C и т.д.).

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

234,5610 = 2*102 + 3*103 + 4*104 + 5*10-1 + 6*10-2

С этой точки зрения, римская система счисления не является чисто непозиционной, т.к., например, число IV равно четырем, а число VI – шести.

Любая позиционная система счисления характеризуется своим основанием.

Основание (базис) p-й позиционной системы счисления – количество знаков, или символов, используемых для изображения числа в данной системе:

  • p=10 → {ai} = 0,1, …,9;

  • p=2 → {ai} = 0,1;

  • p=5 → {ai} = 0,1,2.3.4;

  • p=16 → {ai} = 0, 1, …, 9, A, B, C, D, E, F;

  • p=q→ {ai} = 0,1.,…,q-1

Десятичное число Эквиваленты в некоторых других системах счисления
p = 2 p = 5 p = 8 p = 16
0 0000 00 00 0
1 0001 01 01 1
2 0010 02 02 2
3 0011 03 03 3
4 0100 04 04 4
5 0101 10 05 5
6 0110 11 06 6
7 0111 12 07 7
8 1000 13 10 8
9 1001 14 11 9
10 1010 20 12 A
11 1011 21 13 B
12 1100 22 14 C
13 1101 23 15 D
14 1110 24 16 E
15 1111 30 17 F
16 10000 31 18 10

Для любой позиционной системы счисления основание изображается числом 10 в данной системе.

В общем виде число А в p-ной позиционной системе счисления представляется в виде:

A=a_n*p^n+a_{n-1}*p^{n-1}+. . .+a_1*p^1+a_0*p^0+a_{-1}*p^{-1}+a_{-2}*p^{-2}+. . . a_{-m}*p^{-m}=p^k \sum_{i=-m}^{n}a_i*p^i ( 6.1)

При k = Const получается число, носящее, в общем случае, название числа с фиксированной точкой, но имеющее две разновидности:

  • k=0: правильная дробь – число с фиксированной запятой, то есть правильную дробь

    A = a-1*p-1+a-2*p-2+…+a-m*p-m

  • k=r: целое число – число с фиксированной точкой, то есть целое число

    A = an*pn+an-1*pn-1+…+a1*p1+a0*p0

При k ≠Const получается число с плавающей запятой.

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

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

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

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