OT Kviz z jazyka C IV.

Jan Waclawek konfera@efton.sk
Úterý Říjen 6 21:30:57 CEST 2009


> // predpoklad: abs(e) je male cislo
> int16_t a;
> a = i + e;
> while(a<0) a+=N;
> while(a>=N) a-=N;
> i=a;

Hehe nejako takto som to mal povodne (nie celkom, ale v tomto duchu); a potom som si povedal, ved to s mod musi byt jednoduchsie...


> 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;
> }
> 
> 


no a takto nejako to mam teraz... mno, ani to tak velmi jednoduchsie nie je... ;-)

wek


Další informace o konferenci Hw-list