C a flagy

Vidíš, to jsem zapomněl napsat.

Doplním tedy, co jsem včera ještě zjistil :

if (KEY1==0) LED1=1; else LED1=0;

zabere jenom 10 bytů (5 instrukcí), kdežto

LED1 = KEY1;
LED1 = (KEY1==1) ? 1 : 0;

LED1 = !KEY1;
LED1 = (KEY1==0) ? 1 : 0;

zabere paměti více a záleží i na vzájemné poloze bitů v bytu o kolik.

Čekal bych, že zápis LED1 = (KEY1==0) ? 1 : 0; bude mít stejný překlad jako if (KEY1==0) LED1=1; else LED1=0;, ale nemá, překládá se stejně jako LED1 = !KEY1;.