Глобально уникальные идентификаторы
Совет. Если преобразование двоичных, шестнадцатеричных и десятичных чисел для вас, как и для меня, слишком сложно, используйте калькулятор Windows XP. Щелкните мышью на кнопке Start (Пуск), выберите меню All Programs (Программы), Accessories (Стандартные) и Calculator (Калькулятор). Выберите инженерный вид, щелкнув на пункте Scientific (Научный) в меню View (Вид). В верхней левой части окна калькулятора вы увидите четыре кнопки: Hex, Dec, Oct, и Bin. Щелкните по кнопке, соответствующей той нотации, в которой вы хотите ввести число, введите число и затем щелкните по кнопке той нотации, в которую вы хотите перевести зто число.
Разряды и ботовые маски
Теперь вы знаете, что такое двоичная и шестнадцатеричная нотации, и должны познакомиться с битовыми масками. В реестре Windows XP иногда объединяет несколько настроек вместе в одном числе. Каждый бит этого числа представляет собой отдельную настройку. Так, вы можете сохранить восемь настроек в одном байте, 16 настроек в слове и т.д. В этой книге и вообще где угодно вы можете увидеть инструкции о том, что битовая маска настройки равна 0×20, что просто означает, что вы можете включить зту настройку, установив бит, представленный числом 0×20. Скоро это станет вам понятно.
Вы считаете разряды двоичного числа справа налево, начиная с 0. Число на рисунке 1.3 равно 0×26. Верхняя часть показывает двоичный эквивалент, а нижняя показывает номер каждого разряда. Самый правый бит имеет номер 0. В этом примере разряды 1, 2 и 5 имеют значение, равное 1, а остальные равны 0. Если вы увидите инструкцию, которая советует установить бит 7, то это преобразует наше число в значение 10100110.
Очень часто инструкции не настолько подробны, чтобы указывать конкретный номер разряда, так что вы должны будете произвести некоторые вычисления. Часто все, что вы увидите, будет битовой маской, и вы должны будете определить, какие биты эта маска на самом деле представляет. Например, чтобы установить бит 0×40 в числе 0×43, преобразуйте оба числа в двоичную форму, определите, какие биты представляет маска, измените эти биты на указанные в числе, и затем преобразуйте число обратно в шестнадцатеричную форму. Проще всего воспользоваться калькулятором в инженерном режиме. Вы должны проделать то же самое, если вы захотите выключить эту настройку, за исключением того, что вам придется изменить значения соответствующих битов на 0. Через некоторое время вы научитесь быстро определять, какие биты представлены маской. Двигаясь справа налево, битовые маски для каждого из битов равны 0×01, 0×02, 0×04, 0×08, 0×10, 0×20, 0×40 и 0×80. Нижняя часть рисунка 1.3 иллюстрирует это.Примечание. Установка и сброс битовых масок будет еще легче, если использовать битовые операции. Для установки разрядов маски в числе используется операция «битовое или» (OR) для числа и маски. Для сброса разрядов маски в числе используется операция «битовое и» (AND) для числа и инвертированной маски: число AND NOT маска. Калькулятор в научном режиме поддерживает все эти операции.