Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИСиС. РТ работы / Лекции / Глава 5 - Системы счисления.docx
Скачиваний:
21
Добавлен:
19.09.2023
Размер:
1.2 Mб
Скачать

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

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

128

Больше ли или равно десятичное число в октете (n) самому старшему биту (128)?

  • Если нет, тогда пишем 0 в позиционное значение 128 позиционное значение.

  • Если да, то пишем 1 в позиционное значение 128 и вычитаем 128 из десятичного числа от десятичного числа.

Больше ли или равно десятичное число в октете (n) самому старшему биту (64)?

  • Если нет, тогда пишем 0 в позиционное значение 64 позиционное значение.

  • Если да, то пишем 1 в позиционное значение 64 и вычитаем 64 из десятичного числа от десятичного числа.

Больше ли или равно десятичное число в октете (n) самому старшему биту (32)?

  • Если нет, тогда пишем 0 в позиционное значение 32 позиционное значение.

  • Если да, то пишем 1 в позиционное значение 32 и вычитаем 32 из десятичного числа от десятичного числа.

Больше ли или равно десятичное число в октете (n) самому старшему биту (16)?

  • Если нет, тогда пишем 0 в позиционное значение 16 позиционное значение.

  • Если да, то пишем 1 в позиционное значение 16 и вычитаем 16 из десятичного числа от десятичного числа.

Больше ли или равно десятичное число в октете (n) самому старшему биту (8)?

  • Если нет, тогда пишем 0 в позиционное значение 8 позиционное значение.

  • Если да, то пишем 1 в позиционное значение 8 и вычитаем 8 из десятичного числа от десятичного числа.

Больше ли или равно десятичное число в октете (n) самому старшему биту (4)?

  • Если нет, тогда пишем 0 в позиционное значение 4 позиционное значение.

  • Если да, то пишем 1 в позиционное значение 4 и вычитаем 4 из десятичного числа от десятичного числа.

Больше ли или равно десятичное число в октете (n) самому старшему биту (2)?

  • Если нет, тогда пишем 0 в позиционное значение 2 позиционное значение.

  • Если да, то пишем 1 в позиционное значение 2 и вычитаем 2 из десятичного числа от десятичного числа.

Больше ли или равно десятичное число в октете (n) самому старшему биту (1)?

  • Если нет, тогда пишем 0 в позиционное значение 1 позиционное значение.

  • Если да, то пишем 1 в позиционное значение 1 и вычитаем 1 из десятичного числа от последнего десятичного числа.

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

Чтобы лучше понять этот процесс, рассмотрим IP-адрес 192.168.11.10.

Первый октет номер 192 преобразуется в двоичный, используя ранее объясняемый процесс позиционной нотации.

В случае простых или небольших десятичных чисел процедуру вычитания можно пропустить. Это число можно довольно легко получить без вычитания (8 + 2 = 10). Двоичное значение второго октета — 00001010.

Четвертый октет — 11 (8 + 2 + 1). Двоичное значение второго октета — 00001011.

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

Шаг 1

Первый октет с номером 192 равен или больше старшего бита 128?

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

  • Затем вычтите 128 из 192; получаем разницу (остаток) 64.

Шаг 2

Остаток 64 равен или больше следующего старшего бита 64?

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

Шаг 3

Так как остаток отсутствует, введите двоичный код 0 в остальные позиционные значения.

  • The binary value of the first octet is 11000000.

Шаг 4

Является ли число второго октета 168 равным или больше бита старшего разряда 128?

  • Да, следовательно, добавляем 1 в старшее значение, которое представляет собой 128.

  • Вычитаем из 168 число 128, получаем остаток 40.

Шаг 5

Остаток 40 равен или больше следующего бита старшего разряда 64?

  • Нет, следовательно пишем 0 в позиционном значении.

Шаг 6

Остаток 40 равен или больше следующего бита старшего разряда 32?

  • Да, следовательно, добавляем 1 в старшее значение, которое представляет собой 32.

  • Вычитаем из 40 число 32, получаем остаток 8.

Шаг 7

Остаток 8 равен или больше следующего бита старшего разряда 16?

  • Нет, это не так, поэтому введите двоичный 0 в позиционное значение.

Шаг 8

Остаток 8 равен или больше следующего бита старшего разряда 8?

  • Оно равно, следовательно, добавляем 1 к следующему позиционному значению старшего разряда.

Шаг 9

Так как остаток отсутствует, введите двоичный код 0 в остальные позиционные значения.

  • The binary value of the second octet is 10101000.

Шаг 10

Двоичное значение второго октета — 00001010.

Шаг 11

Бинарное значение четвертого октета 00001011.

5.1.9 Activity - Decimal to Binary Conversions

Инструкции

В этом упражнении вы можете на практике отработать преобразование десятичных чисел в 8-битные двоичные значения. Рекомендуется работать с этим инструментом до тех пор, пока вы не сможете выполнить преобразование без ошибок. Преобразуйте десятичное число, показанное в строке «Десятичное значение», в его двоичные биты.