2010-09-17 16 views

cevap

17

zero-fill right shift. Bu, pozitif tam sayılara veya 0'a hiçbir şey yapmaz, ancak negatif sayılarda komik şeyler yapar (çünkü most significant bit changes to zero).

2 >>> 0 === 2 
1 >>> 0 === 1 
0 >>> 0 === 0 
-1 >>> 0 === 4294967295 
-2 >>> 0 === 4294967294 
-3 >>> 0 === 4294967293 

Bu unutulmamalıdır (teşekkürler Andy!) Değişimini yapmadan önce JavaScript converts the arguments to signed 32-bit integers içinde değişen ısırdı. Bu nedenle >>> 0 esas pozitif sayı üzerinde Math.floor yapar:

1.1 >>> 0 === 1 
1.9 >>> 0 === 1 
+0

Ben + 1 istedim, ama önce küçük bir düzenleme yapmak zorunda hissettim ;-) Eğer sen istemek için olumlu şamandıra ne yapacağını genişletebilir, :-) –

+1

@Andy Çok takdir ve iyi bir nokta. – Skilldrick

+0

Parlak! ... Çok teşekkürler Skilldrick, Andy E ve acqu13sce. Referanslar için de teşekkürler. –

1

Bu bir bit düzeyinde operatör var benim ilk soru. Bu, n bit 0 bit anlamına gelir. Gösterdiğiniz örnekte ne yapmaya çalıştığından emin değilsiniz.

a >>> b // shift a by b bits to the right, padding with zeros 
+1

'(a >>> 0) '' zorlamak için kullanılan bir 32 bit işaretsiz bir tamsayı a'. –

İlgili konular