Navigation: thinBasic Modules > Core > Numeric handling > SHIFT |
|
Description
Shift the bits in an integer-class variable.
Syntax
n = SHIFT [SIGNED] {LEFT | RIGHT} iVar, Count
Returns
Number
Parameters
Name |
Type |
Optional |
Meaning |
iVar |
Numeric |
No |
Any numeric integer (Byte, Word, Integer, DWord, Long, Quad) class variable |
Count |
Number |
No |
Specify the number of bits by which to shift iVar. |
Remarks
The SIGNED option shifts everything, but does not allow the sign (positive or negative) of the value to change.
The LEFT or RIGHT option determines the direction of the bit SHIFT operation.
SHIFT LEFT shifts the bits toward the high-order end of iVar, and SHIFT RIGHT shifts bits toward the low-order end of iVar.
Restrictions
See also
Examples
Thanks to Abraxas for the following script example
' Usage of the SHIFT Instruction example
' Binary Divide by 2 (no remainder)
Dim MyByte As Byte VALUE &h08 ' Initialise Byte to 8
Dim sMsg As String
sMsg += "Original Byte Value " & Hex$(MyByte,2) & $CRLF & $CRLF
SHIFT SIGNED RIGHT MyByte,1 ' Binary Divide by 2 probably quicker than a /
sMsg += " New Byte Value " & Hex$(MyByte,2) & $CRLF
MSGBOX 0, sMsg
© 2004-2008 thinBasic. All rights reserved. | Version 1.7.0.0 | Web Site: http://www.thinbasic.com |