Re: Problems shifting an int 32 times. Gcc 3.4.5

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Juan Reina writes:
 > Hello:
 > 
 > I have a problem using the shift operator, maybe a bug (ok, a bug or i'm wrong about shift operator)
 > 
 > System: i386-redhat-linux
 > Version: Gcc 3.4.5
 > Case:
 >  In the next snipplet:
 > unsigned int getMask(int n){
 > unsigned int mask = 0;
 > a = ~(~(a)<<n);
 > }
 > 
 > In case of n<32, the function works correct but if n=32, the value of a is 0 (when should be 0xFFFF).

Have a look at C99, Section 6.5.7 Para 3.

http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1124.pdf




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux