CHARSHR()
Process each character in a string with bitwise SHIFT RIGHT operation
Syntax
CHARSHR( <[@]cString>, <nBitsToSHR> ) --> cSHRString
Arguments
<[@]cString> string to be processed
<nBitsToSHR> number of bit positions to be shifted to the right
Returns
<cSHRString> string with bitwise shifted right characters
Description
The CHARSHR() function constructs a new string from the string passed as parameter. To do this, it performs a bitwise SHIFT RIGHT (SHR) 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 CHARRLR() 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
? charshr( Chr(1)+Chr(2)+Chr(4)+Chr(8)+Chr(16)+Chr(32)+Chr(64)+Chr(128), 3 ) // --> Chr(0)+Chr(0)+Chr(0)+Chr(1)+Chr(2)+Chr(4)+Chr(8)+Chr(16)
Tests
charshr( Chr(1)+Chr(2)+Chr(4)+Chr(8)+Chr(16)+Chr(32)+Chr(64)+Chr(128), 3 ) == Chr(0)+Chr(0)+Chr(0)+Chr(1)+Chr(2)+Chr(4)+Chr(8)+Chr(16)
Compliance
CHARSHR() is a new function that is only available in Harbour’s CT3 lib.
Platforms
All
Files
Source is charop.c, library is ct3.
Seealso
CHARADD(), CHARSUB(), CHARAND(), CHAROR(), CHARXOR(), CHARNOT(), CHARSHL(), CHARRLL(), CHARRLR(), CSETREF()
Pingback: Harbour String Functions | Viva Clipper !
Pingback: Harbour All Functions – C | Viva Clipper !