Как складывать числа в восьмеричной системе
Перейти к содержимому

Как складывать числа в восьмеричной системе

  • автор:

Как сложить числа в восьмеричной системе счисления? Например 33 в восьмеричной и 27 в шестнадцатеричной

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

27 (16) = 2 * 16 + 7 = 4 * 8 + 7 = 47 (8)
Дальше складываем 33 (8) и 47 (8)
3 + 7 = 10 = 8 + 2 записываем двойку в младший разряд, переносим единицу в следущий разряд
3 + 4 + 1 = 8 = 8 + 0 записываем 0, единицу переносим в следущий разряд
0 + 0 + 1 = 1

Твой «например» — это не сложение в восьмеричной системе. Переводи оба числа в десятичную систему, складывай, а потом переводи результат в восьмеричную.
Можно сделать по-другому: перевести все в двоичную систему. Каждая 8-ричная цифра занимает три бита, а каждая 16-ричная цифра — 4 бита. Складвай все в двоичной системе, а потом переводи результат в восьмеричную.
Твой пример:
33(8) = 011 011(2)
27(16) = 0010 0111(2)
Тогда 27(16)+33(8) = 00100111(2) + 011011(2) = 01000010(2) = 102(8) = 42(16)

Перевести оба числа в одну систему счисления и сложить.
Допустим
27(16)=2*16+7=39(10);
39(10)=4*8+(39-32)=47(8) — здесь 4 берём потому, что 39/8 даёт 4,875;
33(8)+47(8) складываем в столбик:
3+7=10(10) или 12(8)
Последняя цифра 2, 1 переносим:
3+4+1=8(10) или 10(8)
Ответ — 102(8)

Как складывать числа в восьмеричной системе

Скачай курс
в приложении

Перейти в приложение
Открыть мобильную версию сайта

© 2013 — 2024. Stepik

Наши условия использования и конфиденциальности

Get it on Google Play

Public user contributions licensed under cc-wiki license with attribution required

Информатика. 10 класс (Повышенный уровень)

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

В примере 25.5 рассмотрены правила выполнения поразрядных арифметических действий в двоичной системе счисления.

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

Чтобы в системе счисления с основанием получить сумму S двух чисел A и B, нужно просуммировать образующие их цифры по разрядам от младшего разряда к старшему по следующим правилам:

  1. Если ai + bi< p, то , si = ai + bi значение (i + 1)-ого разряда не изменяется.
  2. Если a i + b i ≥ p , то , s i = a i + b i – p , значение ( i + 1 )-ого разряда увеличивается на 1. Это связано с тем, что единиц i-го разряда соответствует одной единице ( i + 1 )-го разряда, а в каждом разряде не может находиться более (p – 1) единиц.
  1. Складываем значения в нулевых разрядах слагаемых: 1 + 1 = 102. Записываем 0 и 1, переносим в первый разряд.
  2. В первых разрядах складываем: 1 + 0 = 1 и добавляем 1 из нулевого разряда. Получаем 1 + 0 + 1 = 102. Записываем 0, а 1 переносим во второй разряд.
  3. Складываем значения во вторых разрядах: 1 + 1 + 1 = 3(112) , 3 ≥ 2, значит, записываем 1, и 1 переносим в третий разряд.
  4. Вычисляем в третьем разряде: 1 + 1 = 2. Так как 2 ≥ 2, то записываем 0, а 1 переносим в четвертый разряд.

В примере 25.7 выполнено сложение двоичных смешанных чисел.

Пример 25.8. Сложить числа 63548 и 7438.

  1. Вычисляем: 4 + 3 = 7.
  2. Складываем: 5 + 4 = 9. 9 ≥ 8, значит, записываем 1 (так как 9 – 8 = 1), а 1 переносим во второй разряд.
  3. Вычисляем: 3 + 7 = 10. Добавляем 1 из первого разряда 10 + 1 = 11. 11 ≥ 8, значит, записываем 3 (11 – 8 = 3 ), а 1 переносим в третий разряд.
  4. В третьем разряде: 6 + 1 = 7.
  1. В нулевом разряде: 4 + 2 = 6.
  2. Вычисляем: B(11) + 5 = 16. 16 ≥ 16, значит, записываем 0 (16 – 16 = 0), а 1 переносим во второй разряд.
  3. Складываем: 5 + C(12) = 17. Добавляем 1 из второго разряда: 17 + 1 = 18. 18 ≥ 16 , значит, записываем 2 (18 – 16 = 2), а 1 переносим в третий разряд.

Чтобы в системе счисления с основанием получить разность R двух чисел A и B ( A > B), нужно вычислять разности образующих их цифр по разрядам i от младшего к старшему по следующему правилу:

  1. Если a i ≥ bi , то ri = ai – bi, значение в (i + 1 )-м разряде не изменяется.
  2. Если a i< b i , то r i = p + a i – b i , то значение в (i + 1 )-м разряде уменьшается на 1. При этом, если ai = 0 , то занимаем одну разрядную единицу (равную основанию системы счисления p) в (i + 1)-м разряде и продолжаем занимать до ближайшего к i-му старшего разряда (включительно), где a i ≠ 0.

Пример 25.10. Найти разность чисел 10002 и 112.

  1. В нулевом разряде: 0 < 1. Занимаем в первом разряде. Так как в двух следующих разрядах записан 0, то продолжаем занимать до третьего разряда, где записано 1. Получаем 2 – 1 = 1 (102 – 12 = 12). В результат записываем 1.
  2. В первом разряде после того, как заняли, осталось 1 (2(102) – 1). Вычитаем: 1 – 1 = 0. В результат записываем 0.
  3. Во втором разряде осталось 1. Вычитаем: 1 – 0 = 1. В результат записываем 1.
  4. В третьем разряде остается 0.
  1. В нулевом разряде: 0 < 6. Занимаем в первом разряде 8(108). Вычитаем: 8 – 6 = 2. В результат записываем 2.
  2. В первом разряде осталось 4. Вычитаем: 4 – 3 = 1. В результат записываем 1.
  3. Во втором разряде: 4 < 7. Занимаем в третьем разряде 8. Вычисляем: 8 + 4 – 7 = 5. В результат записываем 5.
  4. В третьем разряде остается 6, что и записываем в результат.

В примере 25.12 рассмотрено вычитание чисел в шестнадцатеричной системе счисления, которое выполняется по аналогичному алгоритму.

Чтобы в системе счисления с основанием p получить произведение М числа A и числа B < p, надо вычислить произведение цифр числа А по разрядам от младшего к старшему и числа В в соответствии с правилами:

  1. Если ai · b < p, то mi = ai · b и значение в (i + 1)-м разряде не изменяется.
  2. Если a i · b < p , то m i = a i · b modp , а значение в ( i + 1 )-м разряде увеличивается на ai · b divp.

Пример 25.13. Найти произведение чисел 12123 и 23.

  1. Вычисляем: 2 · 2 = 4. Так как 4 ≥ 3, в результат записываем 4 mod 3 = 1. Значение в первом разряде увеличиваем на 4 div 3 = 1 .
  2. Вычисляем: 1 · 2 + 1 = 3, 3 ≥ 3, значит, в результат записываем 3 mod 3 = 0, а второй разряд увеличиваем на 3 div 3 = 1.
  3. Вычисляем: 2 . 2 + 1 = 5. В результат записываем 5 mod 3 = 2. Третий разряд увеличиваем на 5 div 3 = 1.
  4. Повторяем п. 2. В третьем разряде результата записываем 0, а в четвертом — 1.

В примерах 25.14 и 25.15 по аналогичному алгоритму выполнено умножение многозначного числа на однозначное число в других системах счисления.

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

В примерах 25.16 и 25.17 выполнено умножение многозначного числа на многозначное число.

*Деление

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

Пример 25.18. Найти частное чисел 1010102 и 1112.

  1. Сравниваем значение в самом старшем разряде и делитель. Если делитель больше значения в данном разряде, то рассматриваем это значение и значение в следующем разряде как число. Повторяем операцию до момента, когда полученное число сравняется либо превысит значение делителя ( 1 < 111, 10 < 111, 101 < 111, 1010 >111).
  2. Подбираем такое число (1), при котором произведение делителя и этого числа (111) будет максимально близким по значению (но не больше) к числу, полученному в п. 1. Записываем это число в частное первым.
  3. Вычитаем произведение (п. 2) от числа, образованного значениями выбранных разрядов (1010 – 111).
  4. Остаток пишем после черты (11).
  5. Сносим значение следующего разряда к остатку (1) и проверяем, больше или равно получившееся число (111) делителя. Если нет, то сносим значение еще одного разряда до тех пор, пока не образуется число больше или равное делителя, при этом не забываем записывать нули в частное.
  6. Проделываем все вышеперечисленное до тех пор, пока цифры в делимом не закончатся или в остатке не получится число меньше делителя.

Пример 25.19. Найти частное чисел 133518 и 1638.

  1. Сравниваем:1 < 163, 13 < 163, 133 < 163. 1335 >163.
  2. Подбираем: 6 · 163 = 1262 < 1335.
  3. Вычитаем: 1335 – 1262 = 53.
  4. Сносим 1 и получаем 531 > 163.
  5. Подбираем: 3 . 163 = 531.
  6. Вычитаем: 531 – 531 = 0.
  1. Сравниваем: 8 < DF, 8D < DF, 8D2 >DF.
  2. Подбираем: А . DF = 8B6 < 8D2.
  3. Вычитаем: 8D2 – 8B6 = 1C.
  4. Сносим F и получаем 1CF > DF.
  5. Подбираем: 2 . DF = 1BE < 1CF.
  6. Вычитаем: 1CF – 1BE = 11.
  7. Сносим 6 и получаем 116 > DF.
  8. Подбираем: 1 . DF = DF.
  9. Вычитаем: 116 – DF = 37.
  10. Сносим C и получаем 37C > DF.
  11. Подбираем: 4 . DF = 37C.
  12. Вычитаем: 37C – 37C = 0.

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

Пример 25.6. Сложение целых чисел в двоичной системе счисления.

Пример 25.7. Сложение смешанных чисел в двоичной системе счисления.

Пример 25.8. Сложение чисел в восьмеричной системе счисления.

Пример 25.9. Сложение чисел в шестнадцатеричной системе счисления.

Пример 25.10. Вычитание чисел в двоичной системе счисления.

Пример 25.11. Вычитание чисел в восьмеричной системе счисления.

Пример 25.12. Вычитание чисел в шестнадцатеричной системе счисления.

Пример 25.13. Умножение многозначного числа на однозначное число в троичной системе счисления.

(Пример 25.14. Умножение многозначного числа на однозначное число в восьмеричной системе счисления.

Пример 25.15. Умножение многозначного числа на однозначное число в шестнадцатеричной системе счисления.

Пример 25.16. Умножение чисел в двоичной системе счисления.

Пример 25.17. Умножение чисел в пятнадцатеричной системе счисления.

Поразрядное умножение на B:

B(11) . E(14) = 154 = 10 . 15 + 4 ;
B(11) . A(10) + 10 = 120 = 8 . 15 + 0 ;
B(11) . 6 + 8 = 74 = 4 . 15 + E (14).

Поразрядное умножение на 3:

3 . E(14) = 42 = 2 . 15 + C (12);
3 . A(10) + 2 = 32 = 2 . 15 + 2 ;
3 . 6 + 2 = 20 = 1 . 15 + 5 .

4 ;
0 + C = C ;
2 + E(14) = 16 = 1 . 15 + 1 ;
4 + 5 + 1 = A (10);
1 .

Пример 25.18. Деление чисел в двоичной системе счисления.

[1]0 – 1 = 1;
[1]0 – 1 = 1;
1 – 1 = 0 – незначащий;
0 – незначащий.

Пример 25.19. Деление чисел в восьмеричной системе счисления.

Поразрядное умножение на 6:

6 . 3 = 18 = 2 . 8 + 2;
6 . 6 + 2 = 38 = 4 . 8 + 6;
6 . 1 + 4 = 10 = 1 . 8 + 2.

5 – 2 = 3;
8 + 3 = 11; 11 – 6 = 5;
1.

Поразрядное умножение на 3:

3 . 3 = 9 = 1 . 8 + 1;
3 . 6 + 1 = 19 = 2 . 8 + 3;
3 . 1 + 2 = 5.

Пример 25.20. Деление чисел в шестнадцатеричной системе счисления.

Поразрядное умножение на A:

A(10) . F(15) = 150 = 9 . 16 + 6;
A(10) . D(13) + 9 = 139 = 8 . 16 + B(11).

Поразрядное вычитание (8D2 – 8B6):

[16]2 – 6 = 16 + 2 – 6 = C(12);
D(13) – 1 – B(11) = 1.

Поразрядное умножение на 2:

2 . F(15) = 30 = 1 . 16 + E(14);
2 . D(13) + 1 = 27 = 1 . 16 + B(11).

Поразрядное вычитание (1CF – 1BE):

F(15) – E(14) = 1;
C(12) – B(11) = 1;
1 – 1 = 0 – незначащий.

Поразрядное вычитание (116 – DF):

[16]6 – F(15) = 16 + 6 – 15 = 7;
[16] – D(13) = 3.

Поразрядное умножение на 4:

4 . F(15) = 60 = 3 . 16 + C(12);
4 . D(13) + 3 = 55 = 3 . 16 + 7.

Как складывать числа в восьмеричной системе

Система счисления — это способ записи чисел с помощью заданного набора специальных символов .

Существуют позиционные и непозиционные системы счисления.
В непозиционных системах счисления вес цифры (то есть тот вклад, который она вносит в значение числа) не зависит от ее позиции в записи числа. Так, в римской системе счисления в числе ХХХII (тридцать два) вес цифры Х в любой позиции равен просто десяти. В позиционных системах счисления вес каждой цифры изменяется в зависимости от ее положения (позиции) в последовательности цифр, изображающих число.
Например, в числе 357,6 первый символ 3 означает 3 сотни; второй символ 5 означает 5 десятков, третий символ 7 означает 7 единиц, а четвертый символ 6 означает 6 десятых долей единицы.

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

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

В десятичной системе счисления для изображения чисел используются 10 символов: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Поэтому основанием десятичной системы счисления является число 10.

В двоичной системе счисления для изображения чисел используется 2 символа: 0, 1. Поэтому основанием двоичной системы счисления является число 2.

В восьмеричной системе счисления для изображения чисел используются 8 символов: 0, 1, 2, 3, 4, 5, 6, 7. Поэтому основанием восьмеричной системы счисления является число 8.

В шестнадцатеричной системе счисления для изображения чисел используются 16 символов: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, B , C , D , E , F , где:

А = 10; B = 11; C = 12; D = 13; E = 14; F = 15.

Поэтому основанием шестнадцатеричной системы счисления является число 16.

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

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

Например, переведём число 75 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную системы счисления:

Таким образом, число 7510 = 10010112 = 1138 = 4В16

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

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

Например, переведём дробное число 0, 96 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную системы счисления:

Таким образом, число 0,96 10 = 0,111101 2 = 0,75341 8 = 0. F5C28F16

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

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

1) переведём число 101100, 10112 из двоичной системы счисления в десятичную систему счисления:

101100, 1012 = 1*2 5 + 0*2 4 + 1*2 3 + 1*2 2 + 0*2 1 + 0*2 0 + 1*2 -1 + 0*2 -2 + 1*2 -3 =
= 32 + 0 + 8 + 4 + 0 + 0 + 0,5 + 0 + 0,125 = 44, 62510

2) переведём число 375, 6248 из восьмеричной системы счисления в десятичную систему счисления:

375, 6248 = 3*8 2 + 7*8 1 + 5*8 0 + 6*8 -1 + 2*8 -2 + 4*8 -3 =

= 192 + 56 + 5 + 0,75 + 0,03125 + 0,00781835938 = 253, 7890683593810

3) переведём число ACF , 5 D 16 из шестнадцатеричной системы счисления в десятичную систему счисления:

ACF , 5 D 16 = 10*16 2 + 12*16 1 + 15*16 0 + 5*16 -1 + 13*16 -2 =
= 256 + 192 + 15 + 0,3125 + 0,050775 = 463, 36327510

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

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

Например, переведём число 1101111100, 111001112 в восьмеричную систему счисления.

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

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

Например, переведём число 6374, 258 в двоичную систему счисления.

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

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

Например, переведём число 1101111100, 111001112 в шестнадцатеричную систему счисления.

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

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

Например, переведём число АЕС2, 3В16 в двоичную систему счисления.

Двоичная арифметика.

Сложение чисел в двоичной системе счисления.

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

Например, сложим числа 11011112 и 10111012

Умножение чисел в двоичной системе счисления.

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

Например, перемножим числа 111112 и 1012

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

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

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

Процесс вычитания чисел в двоичной системе счисления происходит в два этапа.

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

На втором этапе вычитаемое записывается в обратном коде. Для этого все нули у вычитаемого заменяются на 1 а все единицы у вычитаемого заменяются на 0.

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

На этом же этапе происходит анализ полученного ответа.

Вычтем из большего числа меньшее число: 110111101 – 10110112

Анализ ответа говорит о том, что ответ положителен (так как в знаковом разряде стоит 0), и поэтому он записан в прямом коде.

Таким образом, ответ: 1011000102

Вычтем из меньшего числа большее число: 110111 – 11101101

Анализ ответа говорит о том, что ответ отрицателен (так как в знаковом разряде стоит 1), и поэтому он записан пока что в обратном коде. Для получения окончательного ответа нужно преобразовать его в прямой код, то есть заменить все нули на 1 а все единицы на 0.

Таким образом, окончательный ответ: — 101101102

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *