one.

If the left operand is a number with more than 32 bits, it will get the most
significant bits discarded. For example, the following integer with more than
32 bits will be converted to a 32-bit integer:

    
    
    Before: 11100110111110100000000000000110000000000001
    After:              10100000000000000110000000000001
    

The right operand will be converted to an unsigned 32-bit integer and then
taken modulo 32, so the actual shift offset will always be a positive integer
between 0 and 31, inclusive. For example, ` 100 >> 32 ` is the same as ` 100
>> 0 ` (and produces ` 100 ` ) because 32 modulo 32 is 0.

For BigInts, there's no truncation. Conceptually, understand positive BigInts
as having an infinite number of leading ` 0 ` bits, and negative BigInts
having an infinite number of leading ` 1 ` bits.

Right shifting any number ` x ` by ` 0 ` returns ` x ` converted to a 32-bit
integer. Do not use ` >> 0 ` to truncate numbers to integers; use [ `
Math.trunc() ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc#using_bitwise_no-
ops_to_truncate_numbers) instead.

##  Examples

###  Using right shift

js

    
    
    9 >> 2; // 2
    -9 >> 2; // -3
    
    9n >> 2n; // 2n
    

##  Specifications

Specification  
---  
[ ECMAScript Language Specification  
#  sec-signed-right-shift-operator
](https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-
signed-right-shift-operator)  
  
##  Browser compatibility

BCD tables only load in the browser  with JavaScript enabled. Enable
JavaScript to view data.

##  See also

  * [ Bitwise operators in the JS guide ](/en-US/docs/Web/JavaScript/Guide/Expressions_and_operators#bitwise_operators)
  * [ Right shift assignment ( ` >>= ` ) ](/en-US/docs/Web/JavaScript/Reference/Operators/Right_shift_assignment)
  * [ Unsigned right shift ( ` >>> ` ) ](/en-US/docs/Web/JavaScript/Reference/Operators/Unsigned_right_shift)

##  Help improve MDN

Was this page helpful to you?

Yes  No

[ Learn how to contribute
](https://github.com/mdn/content/blob/main/CONTRIBUTING.md "This will take you
to our contribution guidelines on GitHub.") .

This page was last modified on  Aug 18, 2023  by  [ MDN contributors ](/en-
US/docs/Web/JavaScript/Reference/Operators/Right_shift/contributors.txt) .

[ View this page on GitHub
](https://github.com/mdn/content/blob/main/files/en-
us/web/javascript/reference/operators/right_shift/index.md?plain=1 "Folder:
en-us/web/javascript/reference/operators/right_shift \(Opens in a new tab\)")
â¢  [ Report a problem with this content
](https://github.com/mdn/content/issues/new?template=page-report.yml&mdn-
url=https%3A%2F%2Fdeveloper.mozilla.org%2Fen-
US%2Fdocs%2FWeb%2FJavaScript%2FReference%2FOperators%2FRight_shift&metadata=%3C%21--+Do+not+make+changes+below+this+line+--%3E%0A%3Cdetails%3E%0A%3Csummary%3EPage+report+details%3C%2Fsummary%3E%0A%0A*+Folder%3A+%60en-
us%2Fweb%2Fjavascript%2Freference%2Foperators%2Fright_shift%60%0A*+MDN+URL%3A+https%3A%2F%2Fdeveloper.mozilla.org%2Fen-
US%2Fdocs%2FWeb%2FJavaScript%2FReference%2FOperators%2FRight_shift%0A*+GitHub+URL%3A+https%3A%2F%2Fgithub.com%2Fmdn%2Fcontent%2Fblob%2Fmain%2Ffiles%2Fen-
us%2Fweb%2Fjavascript%2Freference%2Foperators%2Fright_shift%2Findex.md%0A*+Last+commit%3A+https%3A%2F%2Fgithub.com%2Fmdn%2Fcontent%2Fcommit%2Fc6a18542128d1743b208c24de2333f61b601f1a9%0A*+Document+last+modified%3A+2023-08-18T10%3A32%3A05.000Z%0A%0A%3C%2Fdetails%3E
"This will take you to GitHub to file a new issue.")

[ MDN logo  ](/)

Your blueprint for a better internet.

  * [ MDN on Mastodon  ](https://mozilla.social/@mdn)
  * [ MDN on X (formerly Twitter)  ](https://twitter.com/mozdevnet)
  * [ MDN on GitHub  ](https://github.com/mdn/)
  * [ MDN Blog RSS Feed  ](/en-US/blog/rss.xml)

##  MDN

  * [ About ](/en-US/about)
  * [ Blog ](/en-US/blog/)
  * [ Careers ](https://www.mozilla.org/en-US/careers/listings/?team=ProdOps)
  * [ Advertise with us ](/en-US/advertising)

##  Support

  * [ Product