Witajcie,
mam problem przy konwersji liczby 16-bitowej ze znakiem do liczby 16-bitowej bez znaku.
int16_t xx;
uint16_t yy;
yy = (uint16_t) ((((-1)*(xx))<<1)-1);
Kiedy wartość xx przekracza mi 16384, wartość yy przybiera wartości ujemne od -32768 rosnąc do zera. Co robię źle?
mam problem przy konwersji liczby 16-bitowej ze znakiem do liczby 16-bitowej bez znaku.
int16_t xx;
uint16_t yy;
yy = (uint16_t) ((((-1)*(xx))<<1)-1);
Kiedy wartość xx przekracza mi 16384, wartość yy przybiera wartości ujemne od -32768 rosnąc do zera. Co robię źle?
