Technical discussions about Freescale (Motorola) DSPs (including the DSP56000, DSP56300, DSP56600, 56800 DSPs).
Post a new Thread
bit-wise shift operator problem - mark...@bish.net - Oct 4 13:10:00 2005
56805 DSP and I am trying to shift 16 places to the left into an unsigned
long (32-bit size).
unsigned long big_value = 0;
big_value = 1 << 16;
big_value is still zero.
What am I missing?

(You need to be a member of motoroladsp -- send a blank email to motoroladsp-subscribe@yahoogroups.com )
Re: bit-wise shift operator problem - R.A.Imhoff - Oct 5 0:28:00 2005
Hello Mark
you probably have to type-cast the "1" into a long before the shift
operationg, otherwise the compiler treats it as a short integer,
shifting its 1 bit into nothingness.
big_value = (long)(1) << 16;
Best regards
Robert
On 04.10.2005, at 19:10, mark@mark... wrote:
> 56805 DSP and I am trying to shift 16 places to the left into an
> unsigned
> long (32-bit size).
>
> unsigned long big_value = 0;
>
> big_value = 1 << 16;
>
> big_value is still zero.
>
> What am I missing?

(You need to be a member of motoroladsp -- send a blank email to motoroladsp-subscribe@yahoogroups.com )
RE:bit-wise shift operator problem - guse...@rambler.ru - Oct 5 8:19:00 2005
Try this:
big_value = 1UL<<16; // 1 - unsinged long
big_value = (ungigned long)1<<16;

(You need to be a member of motoroladsp -- send a blank email to motoroladsp-subscribe@yahoogroups.com )