Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

ОСНОВЫ МАШИННОЙ АРИФМЕТИКИ

div.main {margin-left: 20pt; margin-right: 20pt}

ОСНОВЫ МАШИННОЙ АРИФМЕТИКИ

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

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

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

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

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

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

A = + am-1 am-2 ... ak ... a0 , a-1 ... a-l (I)

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

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

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

(A)N = +(am-1Nm-1 + am-2Nm-2 +...+ a0 + a-1N-1 +...+ a-lN-l) (II)  

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

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

(A)2 = +(am-12m-1 + am-22m-2 + ... + a0 + a-12-1 + ... + a-l2-l)

Например, двоичное число

(10101,101)2 = 1*24+0*23+1*22+0*2+1+1*2-1+0*2-2+1*2-3 = (21,625)10

В восьмеричной системе счисления для записи чисел используется восемь цифр (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,001
0,01
0,1
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000
0,04
0,1
0,2
0,4
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
0,0625
0,125
0,25
0,5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
0,1
0,2
0,4
0.8
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
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

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

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

TreasureChest - это интересно. 

При переводе  целой части получающиеся в процессе последова-

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

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

счисления. Последний остаток является старшей цифрой переведенного числа.  

        

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

      Пример перевода числа 30,6 из десятичной системы в двоичную:

             

Перевод целой части
Перевод дробной части
Последовательное
деление
Остатки
Целые части -
разряды переведенной дроби
Последовательное
умножение
30 / 2
15 / 2
7 / 2
3 / 2
1 / 2
0
0----------
1---------  | 
1------    |  |
1-----   |  |  |
1---   |  |  |  |
       |  |  |  |  |    
       |  |  |  |  |
       |  |  |  |  |
       |  |  |  |  |
       |  |  |  |  |
       |  |  |  |  |
       |  |  |  |  |
       |  |  |  |  |
       |  |  |  |  |
       |  |  |  |  |
       |  |  |  |  |
       |  |  |  |  |
       |  |  |  |  |

       


   ---------
  |
  |
  |
  |   -------
  |  |
  |  |
  |  |
  |  |  ------
  |  |  |
  |  |  |
  |  |  |
  |  |  |  ----
  |  |  |  |

0,

--------------------
1,


--------------------
0,


--------------------
0,


--------------------
1,
6
X
2
--
2
X
2
--
4
X
2
--
8
X
2
--
6
                     Результат:1 1 1 1 0,     1 0 0 1

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

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

Перевод целой части Перевод дробной части
_111110|__1010
    _1010        |110 ------
    1011                           |
      _1010                       |
          10 ------------------
                                       |  |     ----
                                       |  |     |
                                       |  |     |
                                       |  |     |  
                                       |  |     |   --
                                       |  |     |   |
0,                      0100
                       X
                         1010
        -------------------
---- 10,             1000
                       Х
                         1010
-------------------
101,                 0000
                                      6 2,   2 5

Примечание 1: 1010 - основание десятичной системы счисления в двоичной записи.

Примечание 2: десятичные эквиваленты разрядов искомого числа находим по таблице.

При переводе чисел из любой системы счисления в десятичную удобнее пользоваться непосредственно формулой (II):

(775)8 = 7*82 + 7*8 + 5 = (509)10

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

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

(983,65)10 = (1001 1000 0011, 0110 0101)2-10

При записи чисел в кодах ASCII цифрам от 0 до 9 поставлены в соответствие восьмиразрядные двоичные коды от 00110000 до  

 - новый век, новые возможности.

00111001.

ЭВМ, предназначенные для обработки экономической информации, например IBM AT, позволяют производить арифметические операции в десятичной системе счисления над числами, представленными в дво­ично-десятичных кодах и кодах ASCII.

Шестнадцатеричная и восьмеричная системы счисления используются только программистами и операторами ЭВМ, так как представление чисел в этих системах более компактное, чем в двоичной, и пе­ревод из этих систем в двоичную и обратно выполняется очень просто (основания этих систем представляют собой целую степень числа

2).

Для перевода восьмеричного числа в двоичное достаточно каждый восьмеричный разряд представить тремя двоичными (триадой), а для перевода шестнадцатиричного числа - четырьмя (тетрадой):

(376,51)8 = (011 111 110, 101 001)2

(1AF8)16 = (0001 1010 1111 1000)2



  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте