Из двоичной системы счисления 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Из двоичной системы счисления



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

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

1. Из десятичной системы счисления:

o разделить число на основание переводимой системы счисления;

o найти остаток от деления целой части числа;

o записать все остатки от деления в обратном порядке;

Из двоичной системы счисления

o Для перевода в десятичную систему счисления необходимо найти сумму произведений основания 2 на соответствующую степень разряда;

o Для перевода числа в восьмеричную необходимо разбить число на триады.
Например, 1000110 = 1 000 110 = 1068

o Для перевода числа из двоичной системы счисления в шестнадцатеричную необходимо разбить число на группы по 4 разряда.
Например, 1000110 = 100 0110 = 4616

Таблицы для перевода:

Двоичная СС Шестнадцатеричная СС
   
   
   
   
   
   
   
   
   
   
  A
  B
  C
  D
  E
  F

 

Двоичная СС Восьмеричная СС
   
   
   
   
   
   
   
   

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

ПРИМЕР 1. Перевести число 1101010,11012 в десятичное представление.
Для перевода целой части необходимо умножить разряд числа на соответствующую ему степень разряда.
1101010 = 26*1 + 25*1 + 24*0 + 23*1 + 22*0 + 21*1 + 20*0 = 64 + 32 + 0 + 8 + 0 + 2 + 0 = 106

 

Для перевода дробной части необходимо разделить разряд числа на соответствующую ему степень разряда
1101 = 2-1*1 + 2-2*1 + 2-3*0 + 2-4*1 = 0.8125
Таким образом, число 1101010,11012 в десятичной системе счисления записывается как 106,8125.

ПРИМЕР 2. Перевести число 42,672 в десятичное представление.
Для перевода целой части необходимо умножить разряд числа на соответствующую ему степень разряда.
42 = 81*4 + 80*2 = 32 + 2 = 34

 

Для перевода дробной части необходимо разделить разряд числа на соответствующую ему степень разряда
67 = 8-1*6 + 8-2*7 = 0.859375

Таким образом, число 42,678 в десятичной системе счисления записывается как 34,859375.

ПРИМЕР 3. Перевести число E6,7110 в десятичное представление.
Для перевода целой части необходимо умножить разряд числа на соответствующую ему степень разряда.
E6 = 161*14 + 160*6 = 224 + 6 = 230

Для перевода дробной части необходимо разделить разряд числа на соответствующую ему степень разряда
71 = 16-1*7 + 16-2*1 = 0.44140625
Таким образом, число E6,7116 в десятичной системе счисления записывается как 230,44140625

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

I. Перевести числа в десятичную систему: 11101,1112, 371,058, 1B9,5816
а) 11101,1112
Для перевода целой части необходимо умножить разряд числа на соответствующую ему степень разряда.
11101 = 24*1 + 23*1 + 22*1 + 21*0 + 20*1 = 16 + 8 + 4 + 0 + 1 = 29

Для перевода дробной части числа необходимо разделить разряд числа на соответствующую ему степень разряда
111 = 2-1*1 + 2-2*1 + 2-3*1 = 0.875
11101,1112 = 29,875

б) 371,058
Для перевода целой части необходимо умножить разряд числа на соответствующую ему степень разряда.
371 = 82*3 + 81*7 + 80*1 = 192 + 56 + 1 = 249

Для перевода дробной части необходимо разделить разряд числа на соответствующую ему степень разряда:
05 = 8-1*0 + 8-2*5 = 0.078125 = 0.078
371,058 = 249,078

в) 1B9,5816
Для перевода целой части необходимо умножить разряд числа на соответствующую ему степень разряда.
1B9 = 162*1 + 161*11 + 160*9 = 256 + 176 + 9 = 441

Для перевода дробной части необходимо разделить разряд числа на соответствующую ему степень разряда:
58 = 16-1*5 + 16-2*8 = 0.34375 = 0.344
1B9,5816 = 441,344

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

Пример 1. Перевести число 132,26710 в восьмиричное представление.

Целая часть от деления Остаток от деления
132 div 8 = 16 132 mod 8 = 4
16 div 8 = 2 16 mod 8 = 0
2 div 8 = 0 2 mod 8 = 2
0 div 8 = 0 0 mod 8 = 0

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

Для перевода дробной части числа последовательно умножаем дробную часть на основание 8. В результате каждый раз записываем целую часть произведения.
0.267*8 = 2.136 (целая часть 2)
0.136*8 = 1.088 (целая часть 1)
0.088*8 = 0.704 (целая часть 0)
0.704*8 = 5.632 (целая часть 5)
Получаем число в 8-ой системе счисления: 2105
0.267 = 21058

Таким образом, число 132,267 записывается в восьмиричной системе счисления как 204,21058

Пример 2. Перевести число 1000000010,10012 в восьмиричное представление.
Переводим целую часть числа. Для этого разделим исходный код на группы по 3 разряда.
10000000102 = 001 000 000 010 2
Затем заменяем каждую группу на код из таблицы.

Двоичная СС Восьмеричная СС
   
   
   
   
   
   
   
   


Получаем число:
001 000 000 010 2 = 10028

Переводим дробную часть числа. Для этого разделим исходный код на группы по 3 разряда.
10012 = 100 1002
Затем заменяем каждую группу на код из таблицы.
Получаем число:
100 1002 = 448
Таким образом, число 1000000010,10012 в восьмиричной системе счисления записывается как 1002,44.

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

Двоичная СС шестнадцатеричная СС
   
   
   
   
   
   
   
   
   
   
  A
  B
  C
  D
  E
  F


Получаем число:
A5F16 = 1010010111112

Переводим дробную часть числа.
Получаем число:
3B16 = 001110112
Переводим целую часть числа. Для этого разделим исходный код на группы по 3 разряда.
1010010111112 = 101 001 011 111 2
Затем заменяем каждую группу на код из таблицы.

Двоичная СС Восьмеричная СС
   
   
   
   
   
   
   
   


Получаем число:
101 001 011 111 2 = 51378

Переводим дробную часть числа. Для этого разделим исходный код на группы по 3 разряда.
001110112 = 001 110 1102
Затем заменяем каждую группу на код из таблицы.
Получаем число:
001 110 1102 = 1668
Таким образом, число A5F,3B16 в восьмиричной системе счисления записывается как 5137,166.

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

Пример 1. Перевести число 56,56710 в шестнадцатеричное представление.

Целая часть от деления Остаток от деления
56 div 16 = 3 56 mod 16 = 8
3 div 16 = 0 3 mod 16 = 3
0 div 16 = 0 0 mod 16 = 0

Остаток от деления записываем в обратном порядке. Получаем число в 16-ой системе счисления: 038
56 = 03816

Для перевода дробной части числа последовательно умножаем дробную часть на основание 16. В результате каждый раз записываем целую часть произведения.
0.567*16 = 9.072 (целая часть 9)
0.072*16 = 1.152 (целая часть 1)
0.152*16 = 2.432 (целая часть 2)
0.432*16 = 6.912 (целая часть 6)
Получаем число в 16-ой системе счисления: 9126
0.567 = 912616

Таким образом, число 56,567 в шестнадцатеричной системе счисления записывается как 38,9126.

Пример 2. Перевести число 0101110,011 в шестнадцатеричное представление.
Переводим целую часть числа. Для этого разделим исходный код на группы по 4 разряда.
01011102 = 0010 1110 2
Затем заменяем каждую группу на код из таблицы.

Двоичная СС шестнадцатеричная СС
   
   
   
   
   
   
   
   
   
   
  A
  B
  C
  D
  E
  F


Получаем число:
0010 1110 2 = 2E16

Переводим дробную часть числа. Для этого разделим исходный код на группы по 4 разряда.
0112 = 01102
Затем заменяем каждую группу на код из таблицы.
Получаем число:
01102 = 616

Пример 3. Перевести число 456,548 в шестнадцатеричное представление.
Переводим целую часть числа. Заменяем каждый разряд на код из таблицы.

Двоичная СС Восьмеричная СС
   
   
   
   
   
   
   
   


Получаем число:
4568 = 1001011102

Переводим дробную часть числа.
Получаем число:
548 = 1011002
Переводим целую часть числа. Для этого разделим исходный код на группы по 4 разряда.
1001011102 = 0001 0010 1110 2
Затем заменяем каждую группу на код из таблицы.
Получаем число:
0001 0010 1110 2 = 12E16

Переводим дробную часть числа. Для этого разделим исходный код на группы по 4 разряда.
1011002 = 1011 00002
Затем заменяем каждую группу на код из таблицы.
Получаем число:
1011 00002 = B016

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


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

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

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

Решение

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

Целая часть от деления Остаток от деления
100 div 8 = 12 100 mod 8 = 4
12 div 8 = 1 12 mod 8 = 4
1 div 8 = 0 1 mod 8 = 1

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

Для перевода дробной части числа последовательно умножаем дробную часть на основание 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.7538

100,1210 = 144,07538

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

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

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

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

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

Перевести числа 581,10610, 115,7078, D21,E616 в двоичную систему.

Решение

а) 581,10610;

Целая часть от деления Остаток от деления
581 div 2 = 290 581 mod 2 = 1
290 div 2 = 145 290 mod 2 = 0
145 div 2 = 72 145 mod 2 = 1
72 div 2 = 36 72 mod 2 = 0
36 div 2 = 18 36 mod 2 = 0
18 div 2 = 9 18 mod 2 = 0
9 div 2 = 4 9 mod 2 = 1
4 div 2 = 2 4 mod 2 = 0
2 div 2 = 1 2 mod 2 = 0
1 div 2 = 0 1 mod 2 = 1

Остаток от деления записываем в обратном порядке. Получаем число в 2-ой системе счисления: 1001000101
581 = 10010001012

Для перевода дробной части числа последовательно умножаем дробную часть на основание 2. В результате каждый раз записываем целую часть произведения.
0.106*2 = 0.212 (целая часть 0)
0.212*2 = 0.424 (целая часть 0)
0.424*2 = 0.848 (целая часть 0)
0.848*2 = 1.696 (целая часть 1)
Получаем число в 2-ой системе счисления: 0001
0.106 = 00012

б) 115,7078;
Переводим целую часть числа. Заменяем каждый разряд на код из таблицы.

Двоичная система счисления Восьмеричная система счисления
   
   
   
   
   
   
   
   


Получаем число:
1158 = 0010011012

Переводим дробную часть числа.
Получаем число:
7078 = 1110001112

в) D21,E616.
Переводим целую часть числа. Заменяем каждый разряд на код из таблицы.

Двоичная система счисления шестнадцатеричная система счисления
   
   
   
   
   
   
   
   
   
   
  A
  B
  C
  D
  E
  F


Получаем число:
D2116 = 1101001000012

Переводим дробную часть числа.
Получаем число:
E616 = 111001102

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

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

1. Из десятичной системы счисления:

o разделить число на основание переводимой системы счисления;

o найти остаток от деления целой части числа;

o записать все остатки от деления в обратном порядке;

Из двоичной системы счисления

o Для перевода в десятичную систему счисления необходимо найти сумму произведений основания 2 на соответствующую степень разряда;

o Для перевода числа в восьмеричную необходимо разбить число на триады.
Например, 1000110 = 1 000 110 = 1068

o Для перевода числа из двоичной системы счисления в шестнадцатеричную необходимо разбить число на группы по 4 разряда.
Например, 1000110 = 100 0110 = 4616

Таблицы для перевода:

Двоичная СС Шестнадцатеричная СС
   
   
   
   
   
   
   
   
   
   
  A
  B
  C
  D
  E
  F

 



Поделиться:


Последнее изменение этой страницы: 2016-09-20; просмотров: 272; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.22.242.141 (0.035 с.)