Difference between revisions of "Bit32.lshift"

From GiderosMobile
(Created page with "__NOTOC__ '''Available since:''' Gideros 2022.3<br/> '''Class:''' bit32<br/> === Description === Returns a number whose bits have been logically shifted to the left by a...")
 
m (Text replacement - "<source" to "<syntaxhighlight")
Line 5: Line 5:
 
=== Description ===
 
=== Description ===
 
Returns a number whose bits have been logically shifted to the left by a given displacement.
 
Returns a number whose bits have been logically shifted to the left by a given displacement.
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
(number) = bit32.lshift(x,disp)
 
(number) = bit32.lshift(x,disp)
 
</source>
 
</source>
Line 12: Line 12:
  
 
For positive displacements, the following equality holds:
 
For positive displacements, the following equality holds:
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
assert(bit32.lshift(b, disp) == (b * 2^disp) % 2^32)
 
assert(bit32.lshift(b, disp) == (b * 2^disp) % 2^32)
 
</source>
 
</source>

Revision as of 14:26, 13 July 2023

Available since: Gideros 2022.3
Class: bit32

Description

Returns a number whose bits have been logically shifted to the left by a given displacement. <syntaxhighlight lang="lua"> (number) = bit32.lshift(x,disp) </source>

Returns the number x shifted disp bits to the left. The number disp may be any representable integer. Negative displacements shift to the right. In any direction, vacant bits are filled with zeros. In particular, displacements with absolute values higher than 31 result in zero (all bits are shifted out).

For positive displacements, the following equality holds: <syntaxhighlight lang="lua"> assert(bit32.lshift(b, disp) == (b * 2^disp) % 2^32) </source>

Parameters

x: (number) value
disp: (number) displacement

Return values

Returns (number) result after bits left shifted

See also

Bitwise Operators