Arkadaşlar derleyici Keil uvision3
mcu lpc2148
aşağıdaki kod parçasında sizce çıktı olarak ne verir?
unsigned char a=0x04;
unsigned char b=0x20;
unsigned char c=0x00;
if ((a & b) && !c)
{
printf("DOGRU\r\n");
}
else
{
printf("YANLIS\r\n");
}
Sonuç = YANLIŞ
Peki arkadaşlar,
Sonucu DOĞRU yazdırmak için c sabit kalmak şartıyla a ve b nin nasıl bir değer alması gerekir. c sabit 1, diğer tarafında bir olması için a ve b ne olmalıdır?
Benim bildiğim iki değişkene (sayıya) and uygularsan sonucta bir sayı çıkar. Burdaki durum gibi a & b =0
Hatırladığım birşey vardı burda da öyle bir durum mu var. Sonuc 0 ise sıfır sıfırdan uzaksa 1 yani and işlemi sonucunda çıkan sayı -25 de olsa 12 de olsa 1 ama 0 ise 0. Ama bu durum mantıksal AND işleminde oluyor diye biliyorum.