Need help understanding this part of code. Explanation in post(2008-04-18)

P

patrick

Hello.
I am not new to javascript but i saw a function or a part of code i am
not familiar with.
I am currently building a PHP wrapper to be able to encode fAES string
from php and decode them with javascript.

My main problem at this time is this little part of code.

var nonce = (new Date()).getTime();
for (var i=0; i<4; i++) {
counterBlock = (nonce >>> i*8) & 0xff;
}

I have absolutely no idea what the >>> means as i have been unable to
find anything on this.
This code is JavaScript.

I know i am new to this group but, if i am at the wrong place to ask
for help, just move or delete my post.

P.S. i know i am asking a lot but, if someone has an idea how i can
reproduce this under PHP, i would greatly appreciate.

Thanks
 
R

Richard Cornford

My main problem at this time is this little part of code.

var nonce = (new Date()).getTime();
for (var i=0; i<4; i++) {
counterBlock = (nonce >>> i*8) & 0xff;
}

I have absolutely no idea what the >>> means as i have been
unable to find anything on this.


The - >>> - is the bitwise unsigned right shift operator (ECMA 262, 3rd
Ed. Section 11.7.3). The left hand side operand is converted into an
unsigned 32 bit integer and shifted right by the number of bits
specified by the right hand side operand (the result of the expression -
i*8 - in this case). The result is then converted back to a normal
javascript number (an IEEE double precision floating point number) and
that number is the evaluated result of the unsigned right shift
expression.

Incidentally, the - & - is the bidwise AND operator, so the effect is to
mask out all but the lower (right-most) byte of the shifted number.
This code is JavaScript.

It is.
I know i am new to this group but, if i am at the wrong place
to ask for help, just move or delete my post.

It seems like a reasonable question to ask here.
P.S. i know i am asking a lot but, if someone has an
idea how i can reproduce this under PHP, i would
greatly appreciate.

I have no idea at all. The PHP documentation is where I would start
looking (either PHP has an equivalent operator or it does not, but if
not the same effect could be achieved with other math operators), but
not right now.

Richard.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,578
Members
45,052
Latest member
LucyCarper

Latest Threads

Top