Shl
Valore = Shl ( Numero , Bit )
Restituisce
Numero spostato verso sinistra di tanti bits quanti specificati in
Bit.
_Numero_ non subisce alterazioni.
Il tipo di dato di
Numero, può essere un
Byte, un' intero corto (
Short), un'intero (
Integer), o un'intero lungo (
Long).
L'intervallo di
Bit dipende dal tipo d'intero specificato in
Numero.
Tipo di numero di Numero.
|
Intervallo di Bit.
|
Byte.
|
0...7
|
Intero corto (Short).
|
0...15
|
Intero (Integer).
|
0...31
|
Intero lungo (Long).
|
0...63
|
Il tipo di dato restituito è sempre dello stesso tipo usato in Numero.
Errori
Esempi
PRINT Bin(11, 32), 11
PRINT Bin(Shl(11, 2), 32), Shl(11, 2)
PRINT Bin(Shl(11, 28), 32), Shl(11, 28)
00000000000000000000000000001011 11
00000000000000000000000000101100 44
00110000000000000000000000000000 805306368
PRINT Bin(-11, 32), -11
PRINT Bin(Shl(-11, 2), 32), Shl(-11, 2)
PRINT Bin(Shl(-11, 28), 32), Shl(-11, 28)
11111111111111111111111111110101 -11
11111111111111111111111111010100 -44
11010000000000000000000000000000 -805306368
Può essere utile per ampliare il tipo di argomento.
Usare queste funzioni :
CLong
CInt o
CShort.
DIM b1 AS Byte
DIM i1 AS Integer
DIM i2 AS Integer
b1 = &H55
' Argomento non valido, massimo = 7 Byte per Integer : s2 = Shl(b1, 8) OR b2
i1 = Shl(CInt(b1), 16)
PRINT "i1 = "; Hex$(i1)
i2 = Shl(b1, 16) ' In caso di argomento non valido, si ferma.
PRINT " i2="; Hex$(i2)
Vedi anche