Difference between revisions of "Bit.brshift"

From ComputerCraft Wiki
Jump to: navigation, search
(Explain that this is an arithmetic, not logical, shift, and add a corresponding example)
m (Changed nonexistent type int to type number.)
 
(2 intermediate revisions by one other user not shown)
Line 2: Line 2:
 
{{Function
 
{{Function
 
|name=bit.brshift
 
|name=bit.brshift
|args=[[int (type)|int]] n, [[int (type)|int]] bits
+
|args={{Type|number}} n, {{Type|number}} bits
 
|api=bit
 
|api=bit
|returns=[[int (type)|int]] the value of <var>n</var> shifted right by <var>bits</var> bits, with the shifted-in bits being equal to the original number’s 31st bit, which is equivalent to ⌊<var>n</var>÷2<sup><var>bits</var></sup>⌋
+
|returns={{Type|number}} the value of <var>n</var> shifted right by <var>bits</var> bits, with the shifted-in bits being equal to the original number’s 31st bit, which is equivalent to ⌊<var>n</var>÷2<sup><var>bits</var></sup>⌋
 
|addon=ComputerCraft
 
|addon=ComputerCraft
 
|desc=Shifts a number right arithmetically by a specified number of bits
 
|desc=Shifts a number right arithmetically by a specified number of bits
Line 17: Line 17:
 
|code=print(bit.brshift(2147483648, 2))
 
|code=print(bit.brshift(2147483648, 2))
 
|output=3758096384
 
|output=3758096384
 +
}}
 
}}
 
}}
  
 
[[Category:API_Functions]]
 
[[Category:API_Functions]]

Latest revision as of 01:08, 12 July 2013


Grid Redstone.png  Function bit.brshift
Shifts a number right arithmetically by a specified number of bits
Syntax bit.brshift(number n, number bits)
Returns number the value of n shifted right by bits bits, with the shifted-in bits being equal to the original number’s 31st bit, which is equivalent to ⌊n÷2bits
Part of ComputerCraft
API bit

Examples

Grid paper.png  Example
Shift the number 73 (1001001) right by 2 bits, yielding 18 (10010)
Code
print(bit.brshift(73, 2))
Output 18



Grid paper.png  Example
Shift the number 2,147,483,648 (10000000000000000000000000000000) right by 2 bits, yielding 3,758,096,384 (11100000000000000000000000000000)
Code
print(bit.brshift(2147483648, 2))
Output 3758096384