Navigation:  thinBasic Modules > Core > Numeric handling >

SHIFT

Previous pageReturn to chapter overviewNext page

 

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