Перевод Десятичного числа в Двоичное. Перевод десятичного числа в двоичное


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

Может потребоваться перевести десятичное число в двоичное. Один из способов – это деление на два и формирование двоичного числа из остатков. Например, нужно получить из числа 77 его двоичную запись:

77 / 2 = 38 (1 остаток)38 / 2 = 19 (0 остаток)19 / 2 = 9 (1 остаток)9 / 2 = 4 (1 остаток)4 / 2 = 2 (0 остаток)2 / 2 = 1 (0 остаток)1 / 2 = 0 (1 остаток)

Собираем остатки вместе, начиная с конца: 1001101. Это и есть число 77 в двоичном представлении. Проверим:

1001101 = 1*26 + 0*25 + 0*24 + 1*23 + 1*22 + 0*21 + 1*20 = 64 + 0 + 0 + 8 + 4 + 0 + 1 = 77

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

Итак, современное «железо понимает» лишь двоичную систему счисления. Однако человеку трудно воспринимать длинные записи нулей и единиц с одной стороны, а с другой – переводит числа из двоичной в десятичную систему и обратно, достаточно долго и трудоемко. В результате, часто программисты используют другие системы счисления: восьмеричную и шестнадцатеричную. И 8 и 16 являются степенями двойки, и преобразовывать двоичное число в них (так же как и выполнять обратную операцию) очень легко.

В восьмеричной системе счисления используется восемь знаков-цифр (от 0 до 7). Каждой цифре соответствуют набор из трех цифр в двоичной системе счисления:

000 – 0001 – 1010 – 2011 – 3100 – 4101 – 5110 – 6111 – 7

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

1011101 = 1 011 101 = 001 011 101 = 1 3 5 = 135

Т.е число 1011101 в двоичной системе счисления равно числу 135 в восьмеричной системе счисления. Или 10111012 = 1358.

Обратный перевод. Допустим, требуется перевести число 1008 (не заблуждайтесь! 100 в восьмеричной системе – это не 100 в десятичной) в двоичную систему счисления.

1008 = 1 0 0 = 001 000 000 = 001000000 = 10000002

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

6728 = 6 * 82 + 7 * 81 + 2 * 80 = 6 * 64 + 56 + 2 = 384 + 56 + 2 = 442101008 = 1 * 82 + 0 * 81 + 0 * 80 = 6410

Шестнадцатеричная система счисления

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

В шестнадцатеричной системе счисления используются цифры от 0 до 9 и шесть первых латинских букв – A (10), B (11), C (12), D (13), E (14), F (15).

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

Например:10001100101 = 0100 1100 0101 = 4 C 5 = 4C5

Если потребуется, то число 4C5 можно перевести в десятичную систему счисления следующим образом (C следует заменить на соответствующее данному символу число в десятичной системе счисления – это 12):

4C5 = 4 * 162 + 12 * 161 + 5 * 160 = 4 * 256 + 192 + 5 = 1221

Максимальное двухразрядное число, которое можно получить с помощью шестнадцатеричной записи - это FF.

FF = 15 * 161 + 15 * 160 = 240 + 15 = 255

255 – это максимальное значение одного байта, равного 8 битам: 1111 1111 = FF. Поэтому с помощью шестнадцатеричной системы счисления очень удобно кратко (с помощью двух цифр-знаков) записывать значения байтов. Внимание! Состояний у 8-ми битного байта может быть 256, однако максимальное значение – 255. Не забывайте про 0 – это как раз 256-е состояние.

Системы счисления. Перевод чисел

В десятичную систему счисления

Из двоичной

101,012 = = 1 * 22 + 0 * 21 + 1 * 20 + 0 * 2-1 + 1 * 2-2 = = 4 + 0 + 1 + 0 + 1/4 = = 5,2510

Из восьмеричной

253,318 = = 2 * 82 + 5 * 81 + 3 * 80 + 3 * 8-1 + 1 * 8-2 = = 128 + 40 + 3 + 3/8 + 1/64 = = 171 + 0,375 + 0,015625 = = 171,39062510

Из шестнадцатеричной

42D16 == 4 * 162 + 2 * 161 + 13 * 160 == 1024 + 32 + 13 == 106910

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

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

Число получают путем «сбора» остатков, начиная с конца.

В двоичную

34 / 2 = 17 (0)17 / 2 = 8 (1)8 / 2 = 4 (0)4 / 2 = 2 (0)2 / 2 = 1 (0)1 / 2 = 0 (1)

3410 = 1000102

В восьмеричную

472 / 8 = 59 (0)59 / 8 = 7 (3)7 / 8 = 0 (7)

47210 = 7308

В шестнадцатеричную

924 / 16 = 57 (12)57 / 16 = 3 (9)3 / 16 = 0 (3)

92410 = 39C16

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

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

В двоичную дробь

0,225 * 2 = 0,450,45 * 2 = 0,90,9 * 2 = 1,80,8 * 2 = 1,60,6 * 2 = 1,20,2 * 2 = 0,40,4 * 2 = 0,80,8 * 2 = 1,6…

0,22510 = 0,00111001…2

В восьмеричную дробь

0,225 * 8 = 1,80,8 * 8 = 6,40,4 * 8 = 3,20,2 * 8 = 1,60,6 * 8 = 4,8…

0,22510 = 0,16314…8

В шестнадцатеричную дробь

0,225 * 16 = 3,60,6 * 16 = 9,60,6 * 16 = 9,6…

0,22510 = 0,699…16

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

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

Сложение

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

0 + 0 = 01 + 0 = 10 + 1 = 11 + 1 = 10

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

Сложим для примера два любых двоичных числа:

1101+ 101 ------ 10010

Вычитание

Вычитание одноразрядных двоичных чисел выполняется по следующим правилам:

0 - 0 = 01 - 0 = 10 - 1 = (заем из старшего разряда) 11 - 1 = 0

Пример:

1110- 101 ---- 1001

Умножение

Умножение одноразрядных двоичных чисел выполняется по следующим правилам:

0 * 0 = 01 * 0 = 00 * 1 = 01 * 1 = 1

Пример:

1110* 10------+ 0000 1110 ------ 11100

Деление

Деление выполняется так же как в десятичной системе счисления:

1110 | 10 |----10 | 111---- 11 10---- 10 10---- 0

 

megaobuchalka.ru

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

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

К примеру, если бы узел с 172.16.4.20 использовал 28 битов для сетевого адреса, мы должны были бы исследовать двоичное число в последнем октете, чтобы определить, что этот узел находится в сети 172.16.4.16. Этот процесс извлечения сетевого адреса из полного адреса узла будет объяснен позже.

Значения адреса Между 0 и 255

Поскольку наше представление адресов ограничивается десятичными значениями для одного октета, мы исследуем только процесс преобразования 8-разрядного двоичного числа к десятичным значениям от 0 до 255.

Чтобы начать процесс преобразования, мы начинаем с определения, равно ли или больше десятичное число чем самое большое десятичное значение, представляемое старшим значащим битом. В самой старшей позиции (или 128-разрядной позиции, поскольку 2^7=128) мы определяем, равно ли или больше значение чем 128. Если значение меньше чем 128, мы помещаем 0 в 128-разрядную позицию и переходим к 64-разрядной позиции.

Если значение больше или равно 128, мы помещаем 1 в 128-разрядную позицию и вычитаем 128 из преобразовываемого числа. Затем сравниваем остаток от этой операции со следующим меньшим значением, т.е. 64. Мы продолжаем этот процесс для всех оставшихся позиций.

См. рисунок, на котором изображен пример этих шагов. Мы преобразовываем 172 в 10101100.

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

Итоги по Преобразованиям

Рисунок подводит итог полного преобразования 172.16.4.20 из десятичного представления с разделительными точками в двоичную запись.

Далее: Типы IP Адресов

Смотрите также

Написать

datanets.ru

Перевод целых чисел из десятичной с.с. в двоичную | Учеба-Легко.РФ

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

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

А10

0

1

2

3

4

5

6

7

А2

0

1

10

11

100

101

110

111

 

 

 

 

 

 

 

 

 

А10

8

9

10

11

12

13

14

15

А2

1000

1001

1010

1011

1100

1101

1110

1111

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

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

Метод разностей. Для перевода чисел этим методом нам понадобится таблица степеней числа 2.

n

0

1

2

3

4

5

6

7

8

9

10

...

2n

1

2

4

8

16

32

64

128

256

512

1024

...

Например, переведем числа 25, 48, 105, 734 в двоичную с.с при помощи таблицы:

монеты

число

...

512

256

128

64

32

16

8

4

2

1

25

 

 

 

 

 

 

1

1

0

0

1

48

 

 

 

 

 

1

1

0

0

0

0

105

 

 

 

 

1

1

0

1

0

0

1

734

 

1

0

1

1

0

1

1

1

1

0

 

 

Метод поэтапного деления на основание с.с. заключается в последовательном выполнении действий:

1. Исходное число делим на основание с.с. с остатком в десятичной с.с.

2. Если частное от деления не равно 0, выполняем п.1.

3. Полученные остатки записываем последовательно от последнего к первому.

4. Полученная запись - искомое двоичное число.

 

Например: переведем число 105 в двоичную с.с. методом поэтапного деления на основание с.с.

10510 = 11010012

 

Методом поэтапного деления можно перевести целое десятичное число в любую позиционную систему счисления.

 

 

 

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

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

Алгоритм перевода А2® А10

1. Записать число в развернутой форме записи.

2. Вычислить полученное значение суммы.

3. Результат - искомое десятичное число.

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

1000111012 = 1 ? 28 + 0? 27 + 0? 26 + 0? 25 + 1 ? 24 + 1? 23 + 1? 22 + + 0? 21 + 1? 20 = 1 ? 256 + 0? 128 + 0? 64 + 0? 32 + 1? 16 + 1? 8 + 1? 4 + 0? 2 + 1? 1 = 256 + 16 + 8 + 4 + 1 = 28510

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

uclg.ru



О сайте

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