OT Kviz z jazyka C IV.

Marek Sembol hwm.land@gmail.com
Úterý Říjen 6 14:49:41 CEST 2009


co treba:
uint8_t NovaMenuPos (uint8_t u8OldMenu, int16_t i16Dif, uint8_t u8N){
 int16_t i16Pos;
 i16Pos = i16Dif + u8OldMenu;
 i16Pos %= u8N;
 if (i16Pos < 0) i16Pos += u8N;
 return (uint8_t)i16Pos;
}


2009/10/6 Jan Waclawek <konfera@efton.sk>:
>> Bez toho aby ste pozerali do ucebnic ci normy, kto vie z fleku povedat, aky je vysledok operacie -13 % 10 (t.j. modulo)?
>
> No dobre, teraz sa pozrite do ucebnic a normy (aj tak ste sa uz asi pozreli)...
>
> Funguje to zhruba tak ako to popisal Miro: podla normy sucet div a mod musi dat povodne cislo a pritom div sa zaokruhluje smerom k nule. Z toho vypadne, ze spravna odpoved je -3.
>
> Doplnujuca otazka: mam menu s N polozkami, v ktorej aktualne ukazujem na i-tu polozku (uint8_t i), a ked tocim enkoderom, z rutiny onuchavajucej enkoder mi vypadne znamienkove cislo (int16_t e), pochopitelne i nesmie vyliezt z rozsahu 0..N-1, ako to napisat?
>
> wek
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>


Další informace o konferenci Hw-list