Caché ObjectScript Reference
[Back] [Next]
Go to:

Cyclical-redundancy check for data integrity.
string A string.
$ZCYC(string) computes and returns the cyclical-redundancy check value for the string. It allows two intercommunicating programs to check for data integrity.
The sending program transmits a piece of data along with a matching check value that it calculates using $ZCYC. The receiving program verifies the transmitted data by using $ZCYC to calculate its check value. If the two check values match, the received data is the same as the sent data.
$ZCYC calculates the check value by performing an exclusive OR (XOR) on the binary representations of all the characters in the string.
Use caution when transmitting data between 8-bit and Unicode (16-bit) implementations of Caché; if a data string does not contain any wide characters, the cyclical-redundancy check values should match.
Note that the $ZCYC value of an 8-bit string is identical to the $ZCRC mode 1 value.
A string. Can be specified as a value, a variable, or an expression. String values are enclosed in quotation marks.
In this example, the first $ZCYC returns 65; the second returns 3; and the third returns 64.
   SET x= $ZCYC("A") 
      ; 1000001 (only one character; no XOR )
   SET y= $ZCYC("AB") 
      ; 1000001 XOR 1000010 -> 0000011
   SET z= $ZCYC("ABC") 
      ; 1000001 XOR 1000010 -> 0000011 | 1000011 -> 100000
   WRITE !,"x=",x," y=",y," z=",z
See Also