Signed/unsigned v C (was Re: arduino - povikendovy povzdech)
Jan Waclawek
konfera na efton.sk
Pondělí Březen 23 14:06:27 CET 2015
>No já na něco podobného ohledně unsigned narazil. Řekněme, µe data
>potřebuju někam poslat obráceně. Tak začnu psát:
>
>int write(char *data, int bytes){
> int i;
> for (i = bytes - 1; i >= 0; i--){
> neco(data[i]);
> }
> return bytes;
>}
>
>Kdyµ budu mít bytes unsigned, tak bude problém s přiřazením do i. Kdyµ
>dám unsigned i, tak bude vµdy >= 0 a po přetečení i se asi budu divit.
Okrem uz uvedeneho do-while (ktory sa pre zarputilych skutocnych C
programatorov da zapisat aj ako for (i = data; i-->0; ) :-) ) , napriklad
#include <stdint.h>
uint_least8_t write(char * data, uint_least8_t bytes) {
uint_least8_t i;
for (i = 0; i < bytes; i++) {
neco(data[bytes - 1 - i]);
}
return bytes;
}
(uint_least8_t je IMO rozumna volba pre to AVR z povodneho kontextu, pricom
efektivne portovatelne na vacsie platformy)
wek
Daląí informace o konferenci Hw-list