19 Şubat 2020, 01:05:38

Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d


Mantıksal ifade anlaşılamadı

Başlatan Kılıç, 09 Şubat 2020, 03:22:55

Kılıç


unsigned char       data         ;
unsigned char bit;

 

data |= 0x80 * !!bit;


!!bit yine bit'in kendisi olmuyor mu? iki kere değil alınmış?  !! farklı bir anlamı mı var?



Kılıç

Double not diyor.
Bu ne amaçla kullanılır. İki kere değil almak yine kendisi olmuyor mu?

HAKKITANIR

09 Şubat 2020, 17:22:26 #3 Son düzenlenme: 09 Şubat 2020, 17:27:11 HAKKITANIR
Evet kendisi oluyor.
Hiç kullanmadım ama benim C derleyici de iş görüyor.
data |= 0x80 * !!bit;
ile
data = data | 0X80 * !!bit;
kısaltılmış oluyor.
data = data | (0X80 * !!bit); işlemi böylemi düşündünüz?
data = (data | 0X80) * !!bit; yada böylemi?

derleyici sizin düşündüğünüz gibi mi işlem yaptı? kısmını aydınlatmak için,
parantezli bir deneme yapsanız.

brandice5

İki kere değil almak char veri tipini boolean yapmak için kullanılır.