Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Знакомство с логическими (побитовыми) операторами (https://forum.antichat.xyz/showthread.php?t=163918)

[Dead]Demon 16.12.2009 09:50

Знакомство с логическими (побитовыми) операторами
 
Некоторые люди испытывают проблемы с пониманием логических операторов, поэтому была создана данная статья, объясняющая и обучающая их использовать.
Знакомство с битами
Что же такое биты?

Простыми словами, биты - это индивидуальные единицы и нули, которые составляют все, что имеет отношение к компьютерам. Все данные, которые вы используете, хранятся в вашем компьютере, используя биты. BYTE (байт) составлен из восьми бит, WORD (слово) равно двум байтам (BYTE), или 16-и битам (Bit). DWORD - это два слова (WORD), или же 32 бита.
PHP код:

  0 1 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 0 0 0 1 1 1 1 0 0 0  ||              |               |               |              ||  |+- 31--ый бит  |               |               |    0-ой бит -+|  |               |               |               |               |  +-- BYTE 3 -----+--- BYTE 2 ----+--- BYTE 1 ----+-- BYTE 0 -----+  |                               |                               |  +----------- WORD 1 ------------+----------- WORD 0 ------------+  |                                                               |  +--------------------------- DWORD -----------------------------+ 

Преимущество наличия логических (побитовых) операторов заключается в том, что вы можете использовать BYTE, WORD или DWORD в качестве маленького массива или структуры. Использование данных операторов поможет вам проверить или установить значения определенных бит или групп бит.
Шестнадцатеричные числа и как они связаны с битами
При работе с битами не так легко выразить любое число, используя только единицы и нули, что известно также как двоичное представление. Для этого используются шестнадцатеричные числа.

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

PHP код:

ПОЛУБАЙТ ШЕСТЗНАЧЕНИЕ  ======   =========   0000        0   0001        1   0010        2   0011        3   0100        4   0101        5   0110        6   0111        7   1000        8   1001        9   1010        A   1011        B   1100        C   1101        D   1110        E   1111        F 

Итак, если бы мы имели один байт (BYTE) содержащий букву 'r' (ASCII код - 114), то он выглядел бы следующим образом:
PHP код:

 0111 0010    Бинарное    7    2     Шестнадцатеричное 

Это можно также записать в виде '0x72'


Время: 07:27