# CHARSHL()

Process each character in a string with bitwise SHIFT LEFT operation

Syntax

  CHARSHL (<[@]cString>, <nBitsToSHL> ) --> cSHLString

Arguments

  <[@]cString> string to be processed <nBitsToSHL> number of bit positions to be shifted to the left

Returns

  <cSHLString> string with bitwise shifted left characters

Description

  The CHARSHL() function constructs a new string from the string passed as parameter. To do this, it performs a bitwise SHIFT LEFT (SHL) operation to the characters of the string and places a character in the resulting string whose ASCII value equals to the result of that operation. Be aware that bits shifted out of the byte are lost. If you need a bit rotation, use the CHARRLL() function instead. If the string is passed by reference, the resulting string is stored in <cString>, too. By setting the CSETREF()-switch to .T., the return value can be omitted.

Examples

          ? charshl (chr(1)+chr(2)+chr(4)+chr(8)+chr(16)+chr(32)+chr(64)+chr(128), 3)
            --> chr(8)+chr(16)+chr(32)+chr(64)+chr(128)+chr(0)+chr(0)+chr(0)
    Tests
          charshl (chr(1)+chr(2)+chr(4)+chr(8)+chr(16)+chr(32)+chr(64)+chr(128), 3) == chr(8)+chr(16)+chr(32)+chr(64)+chr(128)+chr(0)+chr(0)+chr(0)

Status

  Ready

Compliance

  CHARSHL() is a new function that is only available in Harbour's CT3 lib.

Platforms

  All

Files

  Source is charop.c, library is ct3.

See Also

- CSETREF()