русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2014-11-28; просмотров: 6122; Нарушение авторских прав


В десятично-точечной нотации каждое 32-битное число IP-адреса представляется в виде четырех десятичных групп, значение каждой из которых лежит в диапазоне 0—255, например 192.168.0.225. Эти числа представляют четыре 8-битных значения, составляющих 32-битный адрес. В любой нотации каждая из четырех групп называется октет. Но только двоичная форма позволяет наглядно увидеть значение каждого бита. Например, IP-адрес 192.168.0.225 в двоичной форме выглядит так: 11000000 10101000 00000000 11100001. В IP-адресах октеты и биты считаются слева направо. Первый октет соответствует первому слева, а биты с 1 по 8 соответствуют первым восьми битам, начиная с самого левого. Второй октет— это следующие восемь битов (9—16), затем идет третий октет (биты 17—24), а замыкает последовательность четвертый октет (биты 25—32). В десятично - точечной нотации октеты отделяются точками, а в двоичной — пробелами.

В табл. 1.1 показаны экспоненциальное и десятичное представление битов в двоичном октете. Обратите внимание: если смотреть слева направо, то первый бит дает значение 128, а каждый последующий бит — половину значения предыдущего. И, наоборот, в направлении справа налево, начиная с восьмого бита (значение 1), цена каждого последующего бита в два раза больше, чем предыдущего.

Обратите внимание, что вклад бита в общую сумму ненулевой, только если он содержит 1. Например, если первый бит — 1, ему соответствует десятичное значений 128. Если же его значение — 0, то и десятичное значение равно нулю. Октету со всеми битами; равными 1, соответствует десятичное значение 255. Если все биты содержат 0, десятичное значение октета равно 0.

 

Таблица 1.1. Представление битов октета в двоичной нотации

 

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

Пусть первый октет IP-адреса в двоичном представлении выглядит так: 10101100



Первый, третий, пятый и шестой биты содержат 1, а остальные — 0. Для упрощения решения нарисуем таблицу перевода, в которой отобразим возможные веса битов октета (см. табл. 1.2.):

 

Таблица 1.2. Пример перевода двоичного числа в десятичное

Сложим десятичные эквиваленты каждого бита и найдем десятичную сумму октета: 1-й бит (128) + 3-й бит (32) + 5-й бит (8) + 6-й бит (4) = сумма октета (172) Поскольку сумма составляет 172, первый октет нашего IP-адреса в десятичной форме равен 172. Применив этот же метод, можно преобразовать полный IP-адрес вида 10101100 00010001 00000111 00011011 в десятично-точечное представление: 172.17.7.27.

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

Перевод октета из десятичной формы в двоичную осуществляется записью 1 или 0 в соответствующий бит октета слева направо, пока не будет получено искомое десятичное число. Если запись 1 в очередной бит приводит к тому, что полученная сумма превосходит десятичное число, просто запишите в этот бит 0 и перейдите к следующему. Допустим, надо перевести IP-адрес 172.31.230.218 в двоичный вид. Первым делом запишите последовательность возможных весов битов в таблицу 1.3:

Таблица 1.3. Таблица для перевода чисел в двоичную систему счисления

Начнем с первого числа — 128. Поскольку 128 меньше 172, запишем 1 в первый бит, а наша промежуточная сумма будет 128. Затем посмотрим вес второго бита — 64. Так как 128 + 64 больше 172, второй бит установим в 0. Затем перейдем к третьему биту, вес которого — 32. 128 и 32 в сумме дают меньше 172, поэтому запишем в этот бит 1. Промежуточная сумма становится 128 + 0 + 32=160. Перейдем к четвертому биту, его вес — 16. 160 и 16 в сумме дают больше 172, поэтому пишем 0. Вес пятого бита — 8. Сумма 160 + 8 меньше 172, пишем в пятый бит 1, а промежуточная сумма становится 128 + 0 + 32 + 0 + 8 = 168. И, наконец, вес шестого бита — 4, сумма 168 и 4 равна 172, т. е. искомому числу. Поэтому пишем 1 в шестой бит, а оставшиеся седьмой и восьмой биты заполняем нулями.

Таким образом, первый октет в двоичной форме выглядит так: 10101100

Выполнив аналогичные операции с остальными октетами получим двоичное представление адреса 172.31.230.218: 10101100 00011111 11100110 11011010



<== предыдущая лекция | следующая лекция ==>
Ручная IР - адресация | Маска подсети


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.