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




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

В зависимости от способа изображения чисел с помощью цифр системы счисления делятся на “позиционные” и “непозиционные”.

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

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

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

A = 7+ 0 a 4m-1 0 a 4m-2 0... a 4k 0... a 40 0, a 4-1 0... a 4-l 0 (I)

Позиции, пронумерованные индексами k (-l < k < m-1) называются разрядами числа. Сумма m+l соответствует количеству разрядов числа (m - число разрядов целой части числа, l - дробной части).

Каждая цифра a 4k 0 в записываемой последовательности может принимать одно из N возможных значений. Количество различных цифр (N), используемых для изображения чисел в позиционной системе счисления, называется основанием системы счисления. Основание N указывает, во сколько раз единица k+1 -го разряда больше единицы k -го разряда, а цифра a 4k 0 соответствует количеству единиц k –го разряда, содержащихся в числе.

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

(A) 4N 0 = 7+ 0(a 4m-1 0N 5m-1 0 + a 4m-2 0N 5m-2 0 +...+ a 40 0 + a 4-1 0N 5-1 0 +...+ a 4-l 0N 5-l 0) (II)

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

В двоичной системе счисления используются только две цифры: 0 и 1. Любое двоичное число может быть представлено в следующей форме:

(A) 42 0 = 7+ 0(a 4m-1 02 5m-1 0 + a 4m-2 02 5m-2 0 +... + a 40 0 + a 4-1 02 5-1 0 +... + a 4-l 02 5-l 0)

Например, двоичное число (10101,101) 42 0 = 1*2 54 0+0*2 53 0+1*2 52 0+0*2+1+1*2 5-1 0+0*2 5-2 0+1*2 5-3 0 = (21,625) 410

В восьмеричной системе счисления для записи чисел используется восемь цифр (0,1,2,3,4,5,6,7), а в шестнадцатеричной - шестнадцать (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F).

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

Двоичные числа ¦ Восьмеричные числа ¦ Десятичные числа ¦ Шестнадцатеричные числа

0,0001 ¦ 0,04 ¦ 0,0625 ¦ 0,1

0,001 ¦ 0,1 ¦ 0,125 ¦ 0,2

0,01 ¦ 0,2 ¦ 0,25 ¦ 0,4

0,1 ¦ 0,4 ¦ 0,5 ¦ 0.8

1 ¦ 1 ¦ 1 ¦ 1

10 ¦ 2 ¦ 2 ¦ 2

11 ¦ 3 ¦ 3 ¦ 3

100 ¦ 4 ¦ 4 ¦ 4

101 ¦ 5 ¦ 5 ¦ 5

110 ¦ 6 ¦ 6 ¦ 6

111 ¦ 7 ¦ 7 ¦ 7

1000 ¦ 10 ¦ 8 ¦ 8

1001 ¦ 11 ¦ 9 ¦ 9

1010 ¦ 12 ¦ 10 ¦ A

1011 ¦ 13 ¦ 11 ¦ B

1100 ¦ 14 ¦ 12 ¦ C

1101 ¦ 15 ¦ 13 ¦ D

1110 ¦ 16 ¦ 14 ¦ E

1111 ¦ 17 ¦ 15 ¦ F

10000 ¦ 20 ¦ 16 ¦ 10

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

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

Таблица сложения:

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 10

Таблица умножения:

0 * 0 = 0

0 * 1 = 0

1 * 0 = 0

1 * 1 = 1

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

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

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

При переводе “дробной” части числа “целые” части чисел, получающихся при умножении, не участвуют в последующих умножениях. Они представляют собой цифры дробной части исходного числа в новой системе счисления, изображенные числами старой системы. Значение первой целой части является первой цифрой после запятой переведенного числа.

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

(983,65) 410 0 = (1001 1000 0011, 0110 0101) 42-10

При записи чисел в кодах ASCII цифрам от 0 до 9 поставлены в соответствие восьмиразрядные двоичные коды от 00110000 до 00111001. ЭВМ, предназначенные для обработки экономической информации, например IBM AT, позволяют производить арифметические операции в десятичной системе счисления над числами, представленными в двоично-десятичных кодах и кодах ASCII. Шестнадцатеричная и восьмеричная системы счисления используются только программистами и операторами ЭВМ, так как представление чисел в этих системах более компактное, чем в двоичной, и перевод из этих систем в двоичную и обратно выполняется очень просто (основания этих систем представляют собой целую степень числа 2). Для перевода восьмеричного числа в двоичное достаточно каждый восьмеричный разряд представить тремя двоичными (триадой), а для перевода шестнадцатеричного числа - четырьмя (тетрадой):

(376,51) 48 0 = (011 111 110, 101 001) 42

(1AF8) 416 0 = (0001 1010 1111 1000) 42

 



Поделиться:




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

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


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