Осталось лишь заметить, что в C# вместо 
if(A&B) надо писать явно 
if((A&B)!=0)...
Ну и ещё различия есть... Например к числам логические операторы типа 
&& в C# применять нельзя. А в языке C можно. Иногда странноватые вещи получаются. К примеру, если ненулевое число трактуется как истина, то сишное выражение 
4&&3 равно "истине", т.е. единице, но побитовая версия 
4&3 дает "ложное" значение, т.е. ноль. В этом смысле у C# было бы преимущество, если бы до него других C-подобных языков не существовало. :)
-- Вт июл 19, 2011 01:43:50 --2
BridgeportЦитата:
Верно ли это? т.е. & и + побитово одно и тоже?
Нет. Вы бы ещё могли спросить эквивалентны ли 
& с 
* и 
| с 
+. :) Кстати, незнаю как с 
& и 
*, но операторы 
| и 
+ действительно похожи, только 
+ складывает числа по-честному, т.е. перенося единицы из переполняющихся разрядов в старшие, а 
| складывает числа бит за битом, не заботясь о переносе. Иногда эту взаимозаменяемость операторов можно встретить и в реальном коде (обработка флажков), особенно этим грешат delphi-кодеры. :)