Be
Beliz

Объясните пожалуйста разницу между & и &&

Собственно хочу понять что означает строка в С++:
if (x && y) {...}
если x и y - байты.

Цель моего желания - записать эту строчку на С# (который не хочет выполнять подобные операции ни с чем кроме bool).

МП
Мария Полухина

Если речь идет о логических операциях:
С++ в отличие от C# автоматически пытается преобразовать значения "x" и "y" в тип Boolean, после чего сравнивает. Видимо C# этого лишен и надо явно преобразовывать типы.

if (x && y) {...} тоже самое, что и if ((bool)x && (bool)y) {...}

&& выполняет сравнение между двумя логическими операндами
& выполняет поразрядное сравнение между двумя операндами. (сравниваются разряды на одинаковых позициях)

ТД
Татьяна Дюко

&&, если первая операция будет false, то проверки второй операции не будет
&, если первая операция будет false, то вторая операция тоже выполняется
кроме того && - быстрее, & - возвращает точный результат, но только после всех вычислений
аналогично кстати и для | и ||

ИЗ
Иван Захаров

ТОчно не знаю, но кажется, что если ставить два амперсанда и например первой переменной идёт ложь, то и результат сразу автоматически будет ложь. Если же один амперсанд, то результат зависит от обех переменных, даже если первая ложна и результат соответственно тоже ложен. Такая оптимизация) . Разименование указателя обозначается одним амперсандом, так что я уж и не знаю что думать. Кстати, в си-шарп можно пользоваться только двойным амперсандом, на сколько я знаю.

АШ
Антон Шадрин

На C#
if (x != 0 && y != 0)

Анна
Анна

2 это и, а 1, вроде-бы операция разименования указателя в с++

ИГ
Иванна Горлач

Один символ побитовое И
Т. е. есть 2 числа (запишу в двоичном виде ) :
a = 00001010;
b = 00001100;
a&b вернёт 00001000;

Ви
Виктория

Липецкий Алексей, всё верно ответил.

Похожие вопросы
Объясните пожалуйста в чем разница, или дело в производителе ?
объясните вкратце разницу бытовых и булевых операций
объясните мне пожалуйста
люди объясните разницу
объясните пожалуйста. объясните пожалуйста как пользоваться программой Synthesia?
Объясните пожалуйста нубу существенную разницу между процесорами
объясните, пожалуйста, в чем разница между вторым высшим и магистратурой?
Объясните разницу...
объясните пожалуйста, в чем разница между "братством" и "орденом "?
Объясните пожалуйста разницу между Эволюцией и Адаптацией...