tinyos uses nesc which is a superset of C. Bitshift is what ever C defines it as.
And please specify your environment/context at the top of your question. Putting it at the bottom makes it real easy to miss. This really isn't a tinyos question but a basic programming question. I use Harbison and Steele, 4th edition, C a reference manual. My udderstanding is ... << always shifts in 0 from the right. Bits shifted off the left are discarded. The size depends on the type of the 1st operand. So it doesn't maintain sign. >> is a different story. If the first operand is unsigned or a positive signed integral, then 0's are shifted in from the left. If signed and negative it is left at the discretion of the implementation. Non-portable. I don't remember off hand what msp430-gcc does. You can look to see what a local (on the PC) program does. Or test it out in Python. That will tell you what that compiler/cpu will do. Interesting data point. Or fire up gdb and print numbers and expressions. Or build a simple tinyos program (ie. Blink) and modify it. Then look at the code produced via objdump (msp430-objdump). See the man page and play with it. You can also fire up msp430-gdb and do the same thing. Because it is a msp430 gdb it will pretend you are futzing with a msp430 processor. On Wed, Mar 23, 2011 at 8:33 PM, Xiaohui Liu <[email protected]> wrote: > Hi everyone, > > Is bit shift operation, left and right, in T2 logical or arithmetic? What > are the results for the following statements and why? > statement 1: > (-1) << 2; > Will default to a 16 bit signed int. 0xfffe > > > statement 2: > (-127) << 1; > -127 = 0xff81 and << 1 yields 0xff02. > > statement 3: > int8_t a = -127; //binary form: 10000001 > int8_t b = a << 1; > Is 'b' equal to 2 (00000010)? If yes, we shift a negative number into a > positive one? > yes. > > > Thanks in advance. > > -- > -TelosB > -Xiaohui Liu > > _______________________________________________ > Tinyos-help mailing list > [email protected] > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help > -- Eric B. Decker Senior (over 50 :-) Researcher
_______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
