Цифровые схемы - базовые преобразования

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

Преобразование десятичного числа в другое основание

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

  • Делать division целой части десятичного числа и successive quotientsс основанием 'r' и запишите остаток, пока частное не станет равным нулю. Рассмотрим остатки в обратном порядке, чтобы получить целую часть эквивалентного числа по основанию 'r'. Это означает, что первый и последний остатки обозначают наименее значащую цифру и наиболее значительную цифру соответственно.

  • Делать multiplication дробной части десятичного числа и successive fractionsс основанием 'r' и записывайте перенос, пока результат не станет равен нулю или не будет получено желаемое количество эквивалентных цифр. Рассмотрим нормальную последовательность переноса, чтобы получить дробную часть эквивалентного числа по основанию 'r'.

Преобразование десятичного числа в двоичное

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

  • Деление целой части и последовательных частных с основанием 2.
  • Умножение дробной части и последовательных дробей с основанием 2.

Example

Рассмотрим decimal number 58.25. Здесь целая часть равна 58, а дробная часть - 0,25.

Step 1 - Деление 58 и последовательные частные с основанием 2.

Операция Частное Остаток
58/2 29 0 (LSB)
29/2 14 1
14/2 7 0
7/2 3 1
3/2 1 1
1/2 0 1(MSB)

⇒ (58) 10 = (111010) 2

Следовательно integer part эквивалентного двоичного числа 111010.

Step 2 - Умножение 0,25 и последовательных дробей с основанием 2.

Операция Результат Нести
0,25 х 2 0,5 0
0,5 х 2 1.0 1
- 0,0 -

⇒ (0,25) 10 = (0,01) 2

Следовательно fractional part эквивалентного двоичного числа .01

⇒ (58,25) 10 = (111010,01) 2

Следовательно binary equivalent десятичного числа 58,25 равно 111010,01.

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

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

  • Деление целой части и последовательных частных с основанием 8.

  • Умножение дробной части и последовательных дробей с основанием 8.

Example

Рассмотрим decimal number 58.25. Здесь целая часть равна 58, а дробная часть - 0,25.

Step 1 - Деление 58 и последовательные частные с основанием 8.

Операция Частное Остаток
58/8 7 2
7/8 0 7

⇒ (58) 10 = (72) 8

Следовательно integer part эквивалентного восьмеричного числа 72.

Step 2 - Умножение 0,25 и последовательных дробей с основанием 8.

Операция Результат Нести
0,25 х 8 2,00 2
- 0,00 -

⇒ (0,25) 10 = (0,2) 8

Следовательно fractional part эквивалентного восьмеричного числа 0,2

⇒ (58,25) 10 = (72,2) 8

Следовательно octal equivalent десятичного числа 58,25 равно 72,2.

Преобразование десятичного числа в шестнадцатеричное

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

  • Деление целой части и последовательных частных с основанием 16.
  • Умножение дробной части и последовательных дробей с основанием 16.

Example

Рассмотрим decimal number 58.25. Здесь целая часть равна 58, а десятичная часть - 0,25.

Step 1 - Деление 58 и последовательные частные с основанием 16.

Операция Частное Остаток
58/16 3 10 = А
3/16 0 3

⇒ (58) 10 = (3A) 16

Следовательно integer part эквивалентного шестнадцатеричного числа - 3А.

Step 2 - Умножение 0,25 и последовательных дробей с основанием 16.

Операция Результат Нести
0,25 х 16 4.00 4
- 0,00 -

⇒ (0,25) 10 = (0,4) 16

Следовательно fractional part эквивалентного шестнадцатеричного десятичного числа .4.

⇒(58.25)10 = (3A.4)16

Следовательно Hexa-decimal equivalent десятичного числа 58,25 равно 3A.4.

Преобразование двоичного числа в другие базы

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

Преобразование двоичного числа в десятичное

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

Example

Рассмотрим binary number 1101.11.

Mathematically, мы можем записать это как

(1101.11) 2 = (1 × 2 3 ) + (1 × 2 2 ) + (0 × 2 1 ) + (1 × 2 0 ) + (1 × 2 -1 ) +

(1 × 2 -2 )

⇒ (1101,11) 2 = 8 + 4 + 0 + 1 + 0,5 + 0,25 = 13,75

⇒ (1101,11) 2 = (13,75) 10

Следовательно decimal equivalent двоичного числа 1101,11 равно 13,75.

Двоичное преобразование в восьмеричное

Мы знаем, что основания двоичной и восьмеричной систем счисления равны 2 и 8 соответственно. Три бита двоичного числа эквивалентны одной восьмеричной цифре, поскольку 2 3 = 8.

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

  • Начните с двоичной точки и сделайте группы по 3 бита по обе стороны от двоичной точки. Если при создании группы из 3 бит на один или два бита меньше, то добавьте необходимое количество нулей на крайних сторонах.

  • Запишите восьмеричные цифры, соответствующие каждой группе из 3 бит.

Example

Рассмотрим binary number 101110.01101.

Step 1 - Сделайте группы по 3 бита с обеих сторон двоичной точки.

101 110.011 01

Здесь, справа от двоичной точки, последняя группа имеет только 2 бита. Итак, включите один ноль на крайнем конце, чтобы сделать его группой из 3 бит.

⇒ 101110,011 010

Step 2 - Запишите восьмеричные цифры, соответствующие каждой группе из 3 бит.

⇒ (101 110,011 010) 2 = (56,32) 8

Следовательно octal equivalent двоичного числа 101110.01101 равно 56.32.

Преобразование двоичного числа в шестнадцатеричное

Мы знаем, что основания двоичной и шестнадцатеричной систем счисления равны 2 и 16 соответственно. Четыре бита двоичного числа эквивалентны одной шестнадцатеричной десятичной цифре, поскольку 2 4 = 16.

Выполните эти два шага для преобразования двоичного числа в его эквивалентное шестнадцатеричное десятичное число.

  • Начните с двоичной точки и сделайте группы по 4 бита по обе стороны от двоичной точки. Если при формировании группы из 4-х битов некоторые биты меньше, то добавьте необходимое количество нулей по крайним сторонам.

  • Запишите шестнадцатеричные десятичные цифры, соответствующие каждой группе из 4 бит.

Example

Рассмотрим binary number 101110.01101

Step 1 - Составляйте группы по 4 бита с обеих сторон двоичной точки.

10 1110.0110 1

Здесь первая группа имеет только 2 бита. Итак, добавьте два нуля на крайнюю сторону, чтобы получилась группа из 4 бит. Точно так же добавьте три нуля на крайнюю сторону, чтобы последняя группа также была группой из 4 бит.

⇒ 0010 1110.0110 1000

Step 2 - Запишите шестнадцатеричные десятичные цифры, соответствующие каждой группе из 4 бит.

⇒ (0010 1110.0110 1000) 2 = (2E.68) 16

Следовательно Hexa-decimal equivalent двоичного числа 101110.01101 равно (2E.68).

Преобразование восьмеричного числа в другое основание

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

Восьмеричное преобразование в десятичное

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

Example

Рассмотрим octal number 145.23.

Mathematically, мы можем записать это как

(145,23) 8 = (1 × 8 2 ) + (4 × 8 1 ) + (5 × 8 0 ) + (2 × 8 -1 ) + (3 × 8 -2 )

⇒ (145,23) 8 = 64 + 32 + 5 + 0,25 + 0,05 = 101,3

⇒ (145,23) 8 = (101,3) 10

Следовательно decimal equivalent восьмеричного числа 145,23 равно 101,3.

Восьмеричное преобразование в двоичное

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

Example

Рассмотрим octal number 145.23.

Представьте каждую восьмеричную цифру 3 битами.

(145,23) 8 = (001 100 101,010 011) 2

Значение не меняется при удалении нулей, которые находятся на крайнем крае.

⇒ (145,23) 8 = (1100101.010011) 2

Следовательно binary equivalent восьмеричного числа 145.23 равно 1100101.010011.

Восьмеричное преобразование в шестнадцатеричное

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

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

Example

Рассмотрим octal number 145.23

В предыдущем примере мы получили двоичный эквивалент восьмеричного числа 145,23 как 1100101.010011.

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

(1100101.010011) 2 = (65,4 ° C) 16

⇒ (145,23) 8 = (65,4C) 16

Следовательно Hexa-decimal equivalentвосьмеричного числа 145.23 является 65.4 С .

Преобразование шестнадцатеричных чисел в другие основания

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

Преобразование шестнадцатеричного числа в десятичное

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

Example

Рассмотрим Hexa-decimal number 1A5.2

Mathematically, мы можем записать это как

(1A5.2) 16 = (1 × 16 2 ) + (10 × 16 1 ) + (5 × 16 0 ) + (2 × 16 -1 )

⇒ (1A5.2) 16 = 256 + 160 + 5 + 0,125 = 421,125

⇒ (1A5.2) 16 = (421,125) 10

Следовательно decimal equivalent шестнадцатеричного числа 1A5.2 равно 421,125.

Шестнадцатеричное преобразование в двоичное

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

Example

Рассмотрим Hexa-decimal number 65.4C

Представьте каждую шестнадцатеричную цифру 4 битами.

(65.4C) 6 = (0110 0101.0100 1100) 2

Значение не меняется при удалении нулей с двух крайних сторон.

⇒ (65,4C) 16 = (1100101.010011) 2

Следовательно binary equivalent шестнадцатеричного числа 65.4C равно 1100101.010011.

Преобразование шестнадцатеричного числа в восьмеричное

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

  • Преобразуйте шестнадцатеричное число в его эквивалентное двоичное число.
  • Преобразуйте указанное выше двоичное число в его эквивалентное восьмеричное число.

Example

Рассмотрим Hexa-decimal number 65.4C

В предыдущем примере мы получили двоичный эквивалент шестнадцатеричного числа 65.4C как 1100101.010011.

Следуя процедуре преобразования двоичного числа в восьмеричное, мы получим

(1100101.010011) 2 = (145,23) 8

⇒ (65,4С) 16 = (145,23)

Следовательно octal equivalentшестнадцатеричного числа 65,4 C равно 145,23.