Forum Webscript.Ru

Программирование => PHP => Тема начата: Croaker от 15 Мая 2002, 16:57:48

Название: Битовые операции
Отправлено: Croaker от 15 Мая 2002, 16:57:48
Ребят, объясните мне - тупоголовому следующее -

вот код:

 
$priv = 8191;
$num = 4;

$byte = $priv & $num;

print "Привилегия - $priv
";
print "Привилегия в десятичном - ".decbin($priv)."
";

print "Число - $num
";
print "Число в десятеричном - ".decbin($num)."
";

print "Результат - ".$byte;
 

Почему $byte - равен четырем??!!! Уже полдня догнать не могу:confused: ...
Название: Битовые операции
Отправлено: AlieN от 15 Мая 2002, 17:52:28
8191 в двоичном виде:
1111111111111
4 в двоичном виде:
100

итого
1111111111111
0000000000100
--------------------
0000000000100

почему так получилось:
если в обоих числах данной степени стоят единицы то получается единица
во всех остальных случаях 0
ну вот и получается
2^2=4
Название: Битовые операции
Отправлено: от 15 Мая 2002, 17:55:20
1111111111111
                    100
--------------------
0000000000100=4
Название: Битовые операции
Отправлено: Croaker от 15 Мая 2002, 18:10:02
AlieN
Спасибо за наглядный пример - оказалось визуально  понять намного легче.
thanks