: olanlar davaları olanC# lojik AND operatörü '&' mantığı
for(int cnt = 0; cnt < (1 << somelist.Count()); ++cnt)
{
for (int i = 0; i < somelist.Count(); ++i)
{
// 1 << 0 -- 1 -> 1
// 1 << 1 -- 10 -> 2
// 1 << 2 -- 100 -> 4
// 1 << 3 -- 1000 -> 8
// 1 << 4 -- 10000 -> 16
// 1 << 5 -- 100000 -> 32
var l = (1 << i);
if ((cnt & l) == 0)
{
// when is it getting here?
// some code to execute
}
}
}
o girerse durum ve olmayanlar? ve neden?
Üzerinde hata ayıklayıcısını zaten kullandım, bunun ardındaki mantık açık değil. Yaptığı şey şudur: nasıl & biraz akıllıca ve operatör çalışmalarını anlamamız gerekir
e.g.
var cnt = 0
var l = 1
if ((cnt & l)==0){ // true }
var cnt = 1
var l = 1
if ((cnt & l)==0){ // false }
var cnt = 1
var l = 2
if ((cnt & l)==0){ // true }
var cnt = 1
var l = 4
if ((cnt & l)==0){ // true }
var cnt = 3
var l = 2
if ((cnt & l)==0){ // false }
var cnt = 3
var l = 4
if ((cnt & l)==0){ // true }
Neden hata ayıklayıcısını kullanarak bunu denemiyorsunuz? – HimBromBeere
Sadece sayıları kullanıyor iseniz listeler nedir? –
O Bitwise VE operatör denilen ve benzeri işleri oluyor '72 & 184 = 8' =' 01001000 & 10111000 = 00001000' –