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?
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators
Double not diyor.
Bu ne amaçla kullanılır. İki kere değil almak yine kendisi olmuyor mu?
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.
İki kere değil almak char veri tipini boolean yapmak için kullanılır.