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

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

Вместе с этим калькулятором также используют следующие:
Перевод чисел в двоичную, шестнадцатеричную, десятичную, восьмеричную системы счисления
Умножение двоичных чисел
Формат представления чисел с плавающей запятой
Пример №1 . Представить число 133,54 в форме числа с плавающей точкой.
Решение . Представим число 133.54 в нормализованном экспоненциальном виде:
1.3354*10 2 = 1.3354*exp 10 2
Число 1.3354*exp 10 2 состоит из двух частей: мантиссы M=1.3354 и экспоненты exp 10 =2
Если мантисса находится в диапазоне 1 ≤ M Представление числа в денормализованном экспоненциальном виде .
Если мантисса находится в диапазоне 0,1 ≤ M Представим число в денормализованном экспоненциальном виде: 0.13354*exp 10 3

Пример №2 . Представить двоичное число 101.10 2 в нормализованном виде, записать в 32-битом стандарте IEEE754.
Таблица истинности


Вычисление пределов

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

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

Сложение чисел с учетом их знаков на машине представляет собой последовательность следующих действий:

  • преобразование исходных чисел в указанный код;
  • поразрядное сложение кодов;
  • анализ полученного результата.
При выполнении операции в обратном (модифицированном обратном) коде если в результате сложения в знаковом разряде возникает единица переноса, она прибавляется к младшему разряду суммы.
При выполнении операции в дополнительном (модифицированном дополнительном) коде если в результате сложения в знаковом разряде возникает единица переноса, она отбрасывается.
Операция вычитания в ЭВМ выполняется через сложение по правилу: Х-У=Х+(-У). Дальнейшие действия выполняются также как и для операции сложения.

Пример №1 .
Дано: х=0,110001; y= -0,001001, сложить в обратном модифицированном коде.

Дано: х=0,101001; y= -0,001101, сложить в дополнительном модифицированном коде.

Пример №2 . Решить примеры на вычитание двоичных чисел, используя метод дополнения до 1 и циклического переноса.
а) 11 - 10.
Решение .
Представим числа 11 2 и -10 2 в обратном коде.

Двоичное число 0000011 имеет обратный код 0,0000011

Сложим числа 00000011 и 11111101

7 6 5 4 3 2 1 0
1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0

7 6 5 4 3 2 1 0
1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0

В 2-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 3-й разряд.
7 6 5 4 3 2 1 0
1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0

7 6 5 4 3 2 1 0
1 1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0 0

7 6 5 4 3 2 1 0
1 1 1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0

7 6 5 4 3 2 1 0
1 1 1 1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0 0

7 6 5 4 3 2 1 0
1 1 1 1 1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0 0 0

7 6 5 4 3 2 1 0
1 1 1 1 1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0 0 0 0

В итоге получаем:
7 6 5 4 3 2 1 0
1 1 1 1 1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0 0 0 0

Возник перенос из знакового разряда. Добавим его (т.е. 1) к полученному числу (тем самым осуществляя процедуру циклического переноса).
В итоге получаем:
7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 1

Результат сложения: 00000001. Переведем в десятичное представление . Для перевода целой части необходимо умножить разряд числа на соответствующую ему степень разряда.
00000001 = 2 7 *0 + 2 6 *0 + 2 5 *0 + 2 4 *0 + 2 3 *0 + 2 2 *0 + 2 1 *0 + 2 0 *1 = 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 = 1
Результат сложения (в десятичном представлении): 1

б) 111-010 Представим числа 111 2 и -010 2 в обратном коде.
Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.
Двоичное число 0000111 имеет обратный код 0,0000111
Двоичное число 0000010 имеет обратный код 1,1111101
Сложим числа 00000111 и 11111101
В 0-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 1-й разряд.

7 6 5 4 3 2 1 0
1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0

В 1-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 2-й разряд.
7 6 5 4 3 2 1 0
1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 0

В 2-ом разряде возникло переполнение (1 + 1 + 1 = 11). Поэтому записываем 1, а 1 переносим на 3-й разряд.
7 6 5 4 3 2 1 0
1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
1 0 0

В 3-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 4-й разряд.
7 6 5 4 3 2 1 0
1 1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 1 0 0

В 4-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 5-й разряд.
7 6 5 4 3 2 1 0
1 1 1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 0 1 0 0

В 5-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 6-й разряд.
7 6 5 4 3 2 1 0
1 1 1 1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 0 0 1 0 0

В 6-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 7-й разряд.
7 6 5 4 3 2 1 0
1 1 1 1 1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 0 0 0 1 0 0

В 7-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 8-й разряд.
7 6 5 4 3 2 1 0
1 1 1 1 1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0 1 0 0

В итоге получаем:
7 6 5 4 3 2 1 0
1 1 1 1 1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0 1 0 0

Возник перенос из знакового разряда. Добавим его (т.е. 1) к полученному числу (тем самым осуществляя процедуру циклического переноса).
В итоге получаем:
7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 1 0 1

Результат сложения: 00000101
Получили число 00000101. Для перевода целой части необходимо умножить разряд числа на соответствующую ему степень разряда.
00000101 = 2 7 *0 + 2 6 *0 + 2 5 *0 + 2 4 *0 + 2 3 *0 + 2 2 *1 + 2 1 *0 + 2 0 *1 = 0 + 0 + 0 + 0 + 0 + 4 + 0 + 1 = 5
Результат сложения (в десятичном представлении): 5

Сложение двоичных вещественных чисел с плавающей запятой

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


Например, число 10101 в формате с плавающей точкой можно записать так:


В компьютерах используется нормализованная форма записи числа, в которой положение запятой всегда задается перед значащей цифрой мантиссы, т.е. выполняется условие:
b -1 ≤|M|Нормализованное число - это число, у которого после запятой идет значащая цифра (т.е. 1 в двоичной системе счисления). Пример нормализации:
0,00101*2 100 =0,101*2 10
111,1001*2 10 =0,111001*2 101
0,01101*2 -11 =0,1101*2 -100
11,1011*2 -101 =0,11011*2 -11

При сложении чисел с плавающей точкой выравнивание порядков выполняют в сторону большего порядка:

Алгоритм сложения чисел с плавающей точкой:

  1. Выравнивание порядков;
  2. Сложение мантисс в дополнительном модифицированном коде;
  3. Нормализация результата.

Пример №4 .
A=0,1011*2 10 , B=0,0001*2 11
1. Выравнивание порядков;
A=0,01011*2 11 , B=0,0001*2 11
2. Сложение мантисс в дополнительном модифицированном коде;
MA доп.мод. =00,01011
MB доп.мод. =00,0001
00,01011
+ 00,00010
=
00,01101
A+B=0,01101*2 11
3. Нормализация результата.
A+B=0,1101*2 10

Пример №3 . Записать десятичное число в двоично-десятичной системе счисления и сложить два числа в двоичной системе счисления.

Примеры перевода чисел в различные системы счисления

Пример №1
Переведем число 12 из десятичной в двоичную систему счисления
Решение

Переведем число 12 10 в 2-ичную систему счисления, при помощи последовательного деления на 2, до тех пор, пока неполное частное не будет равно нулю. В результате будет получено число из остатков деления записанное справа налево.

12 : 2 = 6 остаток: 0
6 : 2 = 3 остаток: 0
3 : 2 = 1 остаток: 1
1 : 2 = 0 остаток: 1

12 10 = 1100 2

Пример №2
Переведем число 12.3 из десятичной в двоичную систему счисления

12.3 10 = 1100.010011001100110011001100110011 2

Решение

Переведем целую часть 12 числа 12.3 10 в 2-ичную систему счисления, при помощи последовательного деления на 2, до тех пор, пока неполное частное не будет равно нулю. В результате будет получено число из остатков деления записанное справа налево.

12 : 2 = 6 остаток: 0
6 : 2 = 3 остаток: 0
3 : 2 = 1 остаток: 1
1 : 2 = 0 остаток: 1

12 10 = 1100 2

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

0.3 · 2 = 0 .6
0.6 · 2 = 1 .2
0.2 · 2 = 0 .4
0.4 · 2 = 0 .8
0.8 · 2 = 1 .6
0.6 · 2 = 1 .2
0.2 · 2 = 0 .4
0.4 · 2 = 0 .8
0.8 · 2 = 1 .6
0.6 · 2 = 1 .2
0.2 · 2 = 0 .4
0.4 · 2 = 0 .8
0.8 · 2 = 1 .6
0.6 · 2 = 1 .2
0.2 · 2 = 0 .4
0.4 · 2 = 0 .8
0.8 · 2 = 1 .6
0.6 · 2 = 1 .2
0.2 · 2 = 0 .4
0.4 · 2 = 0 .8
0.8 · 2 = 1 .6
0.6 · 2 = 1 .2
0.2 · 2 = 0 .4
0.4 · 2 = 0 .8
0.8 · 2 = 1 .6
0.6 · 2 = 1 .2
0.2 · 2 = 0 .4
0.4 · 2 = 0 .8
0.8 · 2 = 1 .6
0.6 · 2 = 1 .2

0.3 10 = 0.010011001100110011001100110011 2
12.3 10 = 1100.010011001100110011001100110011 2

Пример №3
Переведем число 10011 из двоичной системы в десятичную систему счисления
Решение

Переведем число 10011 2 в десятичную систему счисления, для этого сначала запишем позицию каждой цифры в числе с права налево, начиная с нуля

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

10011 2 = 1 ⋅ 2 4 + 0 ⋅ 2 3 + 0 ⋅ 2 2 + 1 ⋅ 2 1 + 1 ⋅ 2 0 = 19 10

Пример №4
Переведем число 11.101 из двоичной системы в десятичную систему счисления

11.101 2 = 3.625 10

Решение

Переведем число 11.101 2 в десятичную систему счисления, для этого сначала запишем позицию каждой цифры в числе

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

11.101 2 = 1 ⋅ 2 1 + 1 ⋅ 2 0 + 1 ⋅ 2 -1 + 0 ⋅ 2 -2 + 1 ⋅ 2 -3 = 3.625 10

Пример №5
Переведем число 1583 из десятичной системы в шестнадцатеричную систему счисления

1583 10 = 62F 16

Решение

Переведем число 1583 10 в 16-ичную систему счисления, при помощи последовательного деления на 16, до тех пор, пока неполное частное не будет равно нулю. В результате будет получено число из остатков деления записанное справа налево.

1583 : 16 = 98 остаток: 15, 15 = F
98 : 16 = 6 остаток: 2
6 : 16 = 0 остаток: 6

1583 10 = 62F 16

Пример №6
Переведем число 1583.56 из десятичной системы в шестнадцатеричную систему счисления

1583.56 10 = 62F.8F5C28F5C28F5C28F5C28F5C28F5C2 16

Решение

Переведем целую часть 1583 числа 1583.56 10 в 16-ичную систему счисления, при помощи последовательного деления на 16, до тех пор, пока неполное частное не будет равно нулю. В результате будет получено число из остатков деления записанное справа налево.

1583 : 16 = 98 остаток: 15, 15 = F
98 : 16 = 6 остаток: 2
6 : 16 = 0 остаток: 6

1583 10 = 62F 16

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

0.56 · 16 = 8 .96
0.96 · 16 = 15 .36, 15 = F
0.36 · 16 = 5 .76
0.76 · 16 = 12 .16, 12 = C
0.16 · 16 = 2 .56
0.56 · 16 = 8 .96
0.96 · 16 = 15 .36, 15 = F
0.36 · 16 = 5 .76
0.76 · 16 = 12 .16, 12 = C
0.16 · 16 = 2 .56
0.56 · 16 = 8 .96
0.96 · 16 = 15 .36, 15 = F
0.36 · 16 = 5 .76
0.76 · 16 = 12 .16, 12 = C
0.16 · 16 = 2 .56
0.56 · 16 = 8 .96
0.96 · 16 = 15 .36, 15 = F
0.36 · 16 = 5 .76
0.76 · 16 = 12 .16, 12 = C
0.16 · 16 = 2 .56
0.56 · 16 = 8 .96
0.96 · 16 = 15 .36, 15 = F
0.36 · 16 = 5 .76
0.76 · 16 = 12 .16, 12 = C
0.16 · 16 = 2 .56
0.56 · 16 = 8 .96
0.96 · 16 = 15 .36, 15 = F
0.36 · 16 = 5 .76
0.76 · 16 = 12 .16, 12 = C
0.16 · 16 = 2 .56

0.56 10 = 0.8F5C28F5C28F5C28F5C28F5C28F5C2 16
1583.56 10 = 62F.8F5C28F5C28F5C28F5C28F5C28F5C2 16

Пример №7
Переведем число A12DCF из шестнадцатеричной системы в десятичную систему счисления

A12DCF 16 = 10563023 10

Решение

Переведем число A12DCF 16 в десятичную систему счисления, для этого сначала запишем позицию каждой цифры в числе с права налево, начиная с нуля

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

1 0 -1 -2 -3 Число A 1 2 D C F 1 2 A
Каждая позиция цифры будет степенью числа 16, так как система счисления 16-ичная. Необходимо последовательно умножить каждое число A12DCF.12A 16 на 16 в степени соответствующей позиции числа и затем сложить с последующим произведением следующего числа в степени соответствующей его позиции.
A 16 = 10 10
D 16 = 13 10
C 16 = 12 10
F 16 = 15 10

A12DCF.12A 16 = 10 ⋅ 16 5 + 1 ⋅ 16 4 + 2 ⋅ 16 3 + 13 ⋅ 16 2 + 12 ⋅ 16 1 + 15 ⋅ 16 0 + 1 ⋅ 16 -1

1 0 Число 1 0 1 0 1 0 0 0 1 1
Каждая позиция цифры будет степенью числа 2, так как система счисления 2-ичная. Необходимо последовательно умножить каждое число 1010100011 2 на 2 в степени соответствующей позиции числа и затем сложить с последующим произведением следующего числа в степени соответствующей его позиции.

1010100011 2 = 1 ⋅ 2 9 + 0 ⋅ 2 8 + 1 ⋅ 2 7 + 0 ⋅ 2 6 + 1 ⋅ 2 5 + 0 ⋅ 2 4 + 0 ⋅ 2 3 + 0 ⋅ 2 2 + 1 ⋅ 2 1 + 1 ⋅ 2 0 = 675 10

Переведем число 675 10 в 16-ичную систему счисления, при помощи последовательного деления на 16, до тех пор, пока неполное частное не будет равно нулю. В результате будет получено число из остатков деления записанное справа налево.

675 : 16 = 42 остаток: 3
42 : 16 = 2 остаток: 10, 10 = A
2 : 16 = 0 остаток: 2

675 10 = 2A3 16 Назначение сервиса . Сервис предназначен для перевода чисел из одной системы счисления в другую в онлайн режиме. Для этого выберите основание системы, из которой необходимо перевести число. Вводить можно как целые, так и числа с запятой.

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

Вместе с этим калькулятором также используют следующие:

Способы представления чисел

Двоичные (binary) числа – каждая цифра означает значение одного бита (0 или 1), старший бит всегда пишется слева, после числа ставится буква «b». Для удобства восприятия тетрады могут быть разделены пробелами. Например, 1010 0101b.
Шестнадцатеричные (hexadecimal) числа – каждая тетрада представляется одним символом 0...9, А, В, ..., F. Обозначаться такое представление может по-разному, здесь используется только символ «h» после последней шестнадцатеричной цифры. Например, A5h. В текстах программ это же число может обозначаться и как 0хА5, и как 0A5h, в зависимости от синтаксиса языка программирования. Незначащий ноль (0) добавляется слева от старшей шестнадцатеричной цифры, изображаемой буквой, чтобы различать числа и символические имена.
Десятичные (decimal) числа – каждый байт (слово, двойное слово) представляется обычным числом, а признак десятичного представления (букву «d») обычно опускают. Байт из предыдущих примеров имеет десятичное значение 165. В отличие от двоичной и шестнадцатеричной формы записи, по десятичной трудно в уме определить значение каждого бита, что иногда приходится делать.
Восьмеричные (octal) числа – каждая тройка бит (разделение начинается с младшего) записывается в виде цифры 0–7, в конце ставится признак «о». То же самое число будет записано как 245о. Восьмеричная система неудобна тем, что байт невозможно разделить поровну.

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

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

Пример №1 .



Перевод из 2 в 8 в 16 системы счисления.
Эти системы кратны двум, следовательно, перевод осуществляется с использованием таблицы соответствия (см. ниже).

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

Пример №2 . 1010111010,1011 = 1.010.111.010,101.1 = 1272,51 8
здесь 001=1; 010=2; 111=7; 010=2; 101=5; 001=1

При переводе в шестнадцатеричную систему необходимо делить число на части, по четыре цифры, соблюдая те же правила.
Пример №3 . 1010111010,1011 = 10.1011.1010,1011 = 2B12,13 HEX
здесь 0010=2; 1011=B; 1010=12; 1011=13

Перевод чисел из 2 , 8 и 16 в десятичную систему исчисления производят путем разбивания числа на отдельные и умножения его на основание системы (из которой переводится число) возведенное в степень соответствующую его порядковому номеру в переводимом числе. При этом числа нумеруются влево от запятой (первое число имеет номер 0) с возрастанием, а в правую сторону с убыванием (т.е. с отрицательным знаком). Полученные результаты складываются.

Пример №4 .
Пример перевода из двоичной в десятичную систему счисления.

1010010,101 2 = 1·2 6 +0·2 5 +1·2 4 +0·2 3 +0·2 2 +1·2 1 +0·2 0 + 1·2 -1 +0·2 -2 +1·2 -3 =
= 64+0+16+0+0+2+0+0.5+0+0.125 = 82.625 10 Пример перевода из восьмеричной в десятичную систему счисления. 108.5 8 = 1*·8 2 +0·8 1 +8·8 0 + 5·8 -1 = 64+0+8+0.625 = 72.625 10 Пример перевода из шестнадцатеричной в десятичную систему счисления. 108.5 16 = 1·16 2 +0·16 1 +8·16 0 + 5·16 -1 = 256+0+8+0.3125 = 264.3125 10

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

  1. Из десятичной системы счисления:
    • разделить число на основание переводимой системы счисления;
    • найти остаток от деления целой части числа;
    • записать все остатки от деления в обратном порядке;
  2. Из двоичной системы счисления
    • Для перевода в десятичную систему счисления необходимо найти сумму произведений основания 2 на соответствующую степень разряда;
    • Для перевода числа в восьмеричную необходимо разбить число на триады.
      Например, 1000110 = 1 000 110 = 106 8
    • Для перевода числа из двоичной системы счисления в шестнадцатеричную необходимо разбить число на группы по 4 разряда.
      Например, 1000110 = 100 0110 = 46 16
Позиционной называется система , для которой значимость или вес цифры зависит от ее места расположения в числе. Соотношение между системами выражается таблицей.
Таблица соответствия систем счисления:
Двоичная СС Шестнадцатеричная СС
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

Таблица для перевода в восьмеричную систему счисления

Пример №2 . Перевести число 100,12 из десятичной системы счисления в восьмеричную систему счисления и обратно. Пояснить причины расхождений.
Решение .
1 Этап. .

Остаток от деления записываем в обратном порядке. Получаем число в 8-ой системе счисления: 144
100 = 144 8

Для перевода дробной части числа последовательно умножаем дробную часть на основание 8. В результате каждый раз записываем целую часть произведения.
0.12*8 = 0.96 (целая часть 0 )
0.96*8 = 7.68 (целая часть 7 )
0.68*8 = 5.44 (целая часть 5 )
0.44*8 = 3.52 (целая часть 3 )
Получаем число в 8-ой системе счисления: 0753.
0.12 = 0.753 8

100,12 10 = 144,0753 8

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

Для перевода целой части необходимо умножить разряд числа на соответствующую ему степень разряда.
144 = 8 2 *1 + 8 1 *4 + 8 0 *4 = 64 + 32 + 4 = 100

Для перевода дробной части необходимо разделить разряд числа на соответствующую ему степень разряда
0753 = 8 -1 *0 + 8 -2 *7 + 8 -3 *5 + 8 -4 *3 = 0.119873046875 = 0.1199

144,0753 8 = 100,96 10
Разница в 0,0001 (100,12 - 100,1199) объясняется погрешностью округлений при переводе в восьмеричную систему счислений. Эту погрешность можно уменьшить, если взять большее число разрядов (например, не 4, а 8).

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

Сложение:
Все помнят, как в начальной школе нас учили складывать столбиком, разряд с разрядом. Если при сложении в разряде получалось число больше 9, мы вычитали из него 10, полученный результат записывали в ответ, а 1 прибавляли к следующему разряду. Из этого можно сформулировать правило:

  1. Складывать удобнее «столбиком»
  2. Складывая поразрядно, если цифра в разряде > больше самой большой цифры алфавита данной Системы счисления, вычитаем из этого числа основание системы счисления.
  3. Полученный результат записываем в нужный разряд
  4. Прибавляем единицу к следующему разряду
Пример:

Сложить 1001001110 и 100111101 в двоичной системе счисления

1001001110

100111101

1110001011

Ответ: 1110001011

Сложить F3B и 5A в шестнадцатеричной системе счисления

FE0

Ответ: FE0


Вычитание:Все помнят, как в начальной школе нас учили вычитать столбиком, разряд из разряда. Если при вычитании в разряде получалось число меньше 0, мы то мы «занимали» единицу из старшего разряда и прибавляли к нужной цифре 10, из нового числа вычитали нужное. Из этого можно сформулировать правило:

  1. Вычитать удобнее «столбиком»
  2. Вычитая поразрядно, если цифра в разряде < 0, вычитаем из старшего разряда 1, а к нужному разряду прибавляем основание системы счисления.
  3. Производим вычитание
Пример:

Вычесть из 1001001110 число 100111101 в двоичной системе счисления

1001001110

100111101

100010001

Ответ: 100010001

Вычесть из F3B число 5A в шестнадцатеричной системе счисления

D9 6

Ответ: D96

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

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

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

Умножить 10111 на число 1101 в двоичной системе счисления

10111

1101

10111

10111

10111

100101011

Ответ: 100101011

Умножить F3B на число A в шестнадцатеричной системе счисления

F3B

984E

Ответ: 984E

Ответ: 984E

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

Деление:

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

  1. Делить удобнее «столбиком»
  2. Деление в любой системе счисления происходит по тем же правилам, что и в десятичной. Но мы можем использовать только алфавит, данный системы счисления

Пример:

Разделить 1011011 на число 1101 в двоичной системе счисления

Разделить F 3 B на число 8 в шестнадцатеричной системе счисления

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

НЕПОЗИЦИОННЫЕ

Непозиционные системы счисления

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

  • 1 - |
  • 2 - ||
  • 3 - |||, и т. д.

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

||||| = 1+1+1+1+1 = 5.

Модификацией единичной системы является система с основанием, в которой есть символы не только для обозначения единицы, но и для степеней основания. Например, если за основание взято число 5, то будут дополнительные символы для обозначения 5, 25, 125 и так далее.

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

  • шест - единицы,
  • дуга - десятки,
  • пальмовый лист - сотни,
  • цветок лотоса - тысячи.

Числа получались простым сложением, порядок следования мог быть любым. Так, для обозначения, например, числа 3815, рисовали три цветка лотоса, восемь пальмовых листов, одну дугу и пять шестов. Более сложные системы с дополнительными знаками - старая греческая, римская. Римская также использует элемент позиционной системы - большая цифра, стоящая перед меньшей, прибавляется, меньшая перед большей - вычитается: IV = 4, но VI = 6, этот метод, правда, применяется исключительно для обозначения чисел 4, 9, 40, 90, 400, 900, 4000, и производных их сложением.

Новогреческая и древнерусская системы использовали в качестве цифр 27 букв алфавита, где ими обозначалось каждое число от 1 до 9, а также десятки и сотни. Такой подход обеспечил возможность записывать числа от 1 до 999 без повторений цифр.

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

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

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

Результат уже получен!

Перевод целых и дробных чисел из одной системы счисления в любую другую − теория, примеры и решения

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

Тогда число 6372 можно представить в следующем виде:

6372=6000+300+70+2 =6·10 3 +3·10 2 +7·10 1 +2·10 0 .

Число 10 определяет систему счисления (в данном случае это 10). В качестве степеней взяты значения позиции данного числа.

Рассмотрим вещественное десятичное число 1287.923. Пронумеруем его начиная с нуля позиции числа от десятичной точки влево и вправо:

Тогда число 1287.923 можно представить в виде:

1287.923 =1000+200+80 +7+0.9+0.02+0.003 = 1·10 3 +2·10 2 +8·10 1 +7·10 0 +9·10 -1 +2·10 -2 +3·10 -3 .

В общем случае формулу можно представить в следующем виде:

Ц n ·s n +Ц n-1 ·s n-1 +...+Ц 1 ·s 1 +Ц 0 ·s 0 +Д -1 ·s -1 +Д -2 ·s -2 +...+Д -k ·s -k

где Ц n -целое число в позиции n , Д -k - дробное число в позиции (-k), s - система счисления.

Несколько слов о системах счисления.Число в десятичной системе счисления состоит из множества цифр {0,1,2,3,4,5,6,7,8,9}, в восьмеричной системе счисления - из множества цифр {0,1,2,3,4,5,6,7}, в двоичной системе счисления - из множества цифр {0,1}, в шестнадцатеричной системе счисления - из множества цифр {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}, где A,B,C,D,E,F соответствуют числам 10,11,12,13,14,15.В таблице Таб.1 представлены числа в разных системах счисления.

Таблица 1
Система счисления
10 2 8 16
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

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

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

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

С помощью формулы (1) можно перевести числа из любой системы счисления в десятичную систему счисления.

Пример 1. Переводить число 1011101.001 из двоичной системы счисления (СС) в десятичную СС. Решение:

1 ·2 6 +0 ·2 5 +1 ·2 4 +1 ·2 3 +1 ·2 2 +0 ·2 1 +1 ·2 0 +0 ·2 -1 +0 ·2 -2 +1 ·2 -3 =64+16+8+4+1+1/8=93.125

Пример 2. Переводить число 1011101.001 из восьмеричной системы счисления (СС) в десятичную СС. Решение:

Пример 3 . Переводить число AB572.CDF из шестнадцатеричной системы счисления в десятичную СС. Решение:

Здесь A -заменен на 10, B - на 11, C - на 12, F - на 15.

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

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

Целую часть числа переводится из десятичной СС в другую систему счисления - последовательным делением целой части числа на основание системы счисления (для двоичной СС - на 2, для 8-ичной СС - на 8, для 16-ичной - на 16 и т.д.) до получения целого остатка, меньше, чем основание СС.

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

159 2
158 79 2
1 78 39 2
1 38 19 2
1 18 9 2
1 8 4 2
1 4 2 2
0 2 1
0

Как видно из Рис. 1, число 159 при делении на 2 дает частное 79 и остаток 1. Далее число 79 при делении на 2 дает частное 39 и остаток 1 и т.д. В результате построив число из остатков деления (справа налево) получим число в двоичной СС: 10011111 . Следовательно можно записать:

159 10 =10011111 2 .

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

615 8
608 76 8
7 72 9 8
4 8 1
1

При приведении числа из десятичной СС в восьмеричную СС, нужно последовательно делить число на 8, пока не получится целый остаток меньшее, чем 8. В результате построив число из остатков деления (справа налево) получим число в восьмеричной СС: 1147 (см. Рис. 2). Следовательно можно записать:

615 10 =1147 8 .

Пример 6 . Переведем число 19673 из десятичной системы счисления в шестнадцатеричную СС.

19673 16
19664 1229 16
9 1216 76 16
13 64 4
12

Как видно из рисунка Рис.3, последовательным делением числа 19673 на 16 получили остатки 4, 12, 13, 9. В шестнадцатеричной системе счисления числе 12 соответствует С, числе 13 - D. Следовательно наше шестнадцатеричное число - это 4CD9.

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

Рассмотрим вышеизложенное на примерах.

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

0.214
x 2
0 0.428
x 2
0 0.856
x 2
1 0.712
x 2
1 0.424
x 2
0 0.848
x 2
1 0.696
x 2
1 0.392

Как видно из Рис.4, число 0.214 последовательно умножается на 2. Если в результате умножения получится число с целой частью, отличное от нуля, то целая часть записывается отдельно (слева от числа), а число записывается с нулевой целой частью. Если же при умножении получиться число с нулевой целой частью, то слева от нее записывается нуль. Процесс умножения продолжается до тех пор, пока в дробной части не получится чистый нуль или же не получим требуемое количество разрядов. Записывая жирные числа (Рис.4) сверху вниз получим требуемое число в двоичной системе счисления: 0.0011011 .

Следовательно можно записать:

0.214 10 =0.0011011 2 .

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

0.125
x 2
0 0.25
x 2
0 0.5
x 2
1 0.0

Для приведения числа 0.125 из десятичной СС в двоичную, данное число последовательно умножается на 2. В третьем этапе получилось 0. Следовательно, получился следующий результат:

0.125 10 =0.001 2 .

Пример 9 . Переведем число 0.214 из десятичной системы счисления в шестнадцатеричную СС.

0.214
x 16
3 0.424
x 16
6 0.784
x 16
12 0.544
x 16
8 0.704
x 16
11 0.264
x 16
4 0.224

Следуя примерам 4 и 5 получаем числа 3, 6, 12, 8, 11, 4. Но в шестнадцатеричной СС числам 12 и 11 соответствуют числа C и B. Следовательно имеем:

0.214 10 =0.36C8B4 16 .

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

0.512
x 8
4 0.096
x 8
0 0.768
x 8
6 0.144
x 8
1 0.152
x 8
1 0.216
x 8
1 0.728

Получили:

0.512 10 =0.406111 8 .

Пример 11 . Переведем число 159.125 из десятичной системы счисления в двоичную СС. Для этого переведем отдельно целую часть числа (Пример 4) и дробную часть числа (Пример 8). Далее объединяя эти результаты получим:

159.125 10 =10011111.001 2 .

Пример 12 . Переведем число 19673.214 из десятичной системы счисления в шестнадцатеричную СС. Для этого переведем отдельно целую часть числа (Пример 6) и дробную часть числа (Пример 9). Далее объединяя эти результаты получим.

mob_info