第101章 Caché 函数大全 $ZCYC 函数

 

文章目录

  • 第101章 Caché 函数大全 $ZCYC 函数
  • 大纲
    • 参数
  • 描述
  • 参数
    • string
  • 示例

 

第101章 Caché 函数大全 $ZCYC 函数

循环冗余检查以确保数据完整性。

大纲
$ZCYC(string)
$ZC(string)

参数

string - 字符串

描述

$ZCYC(string)计算并返回该字符串的循环冗余校验值。它允许两个互通程序检查数据完整性。

发送程序发送一条数据以及它使用$ZCYC计算的匹配校验值。接收程序通过使用$ZCYC计算其校验值来验证发送的数据。如果两个校验值匹配,则接收的数据与发送的数据相同。

$ZCYC通过对字符串中所有字符的二进制表示执行异或(XOR)来计算检查值。

在Caché的8位和Unicode(16位)实现之间传输数据时要谨慎;如果数据字符串不包含任何宽字符,则循环冗余校验值应匹配。

请注意,8位字符串的$ZCYC值与$ZCRC模式1的值相同。

参数

string

一个字符串。可以指定为值,变量或表达式。字符串值用引号引起来。

示例

在此示例中,第一个$ZCYC返回65;第二个返回3;第三个返回64。

/// d ##class(PHA.TEST.Function).ZCYC()
ClassMethod ZCYC()
{
	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
}
DHC-APP>d ##class(PHA.TEST.Function).ZCYC()
 
x=65 y=3 z=64

 

上一篇:[ARC098B] Xor Sum 2


下一篇:BZOJ4269: 再见Xor(线性基)