crc16
2023/02/13 09:35
crc16 機能
[その他のコマンド]CRC-16-IBM を計算します。
コマンドライン
crc16 <intvar> <string>
機能説明
引数の文字列から CRC (Cyclic Redundancy Checking) を計算します。多項式(右回り)は以下のとおりです。
0xA001 ()
計算結果は <intvar> に数値として格納されます。
CRC アルゴリズムの実装(C言語)を以下に示します。
static unsigned int crc16(int n, unsigned char c[]) { #define CRC16POLY2 0x8408U /* 左右逆転 */ int i, j; unsigned long r; r = 0xFFFFU; for (i = 0; i < n; i++) { r ^= c[i]; for (j = 0; j < CHAR_BIT; j++) if (r & 1) r = (r >> 1) ^ CRC16POLY2; else r >>= 1; } return r ^ 0xFFFFU; }
パラメータの説明
指定するパラメータは以下の通りです。パラメータ | 型 | パラメータ説明 |
---|---|---|
<intvar> | 文字列 | 計算結果を格納する変数を指定します。 |
<string> | 整数 | 対象文字列を指定します。 |
対象バージョン
バージョン 4.78 以降で利用可能です。戻り値
戻り値として以下の変数が定義されます。変数名 | 値 | 意味 |
---|---|---|
<string>> | 文字列 | CRC-16-IBM の計算結果 |
関連コマンド
crc16file使用方法
使用例
・crc16 を計算する場合str = 'this is a test string to be CRC16ed' crc16 crc str ; Display CRC16 result asHEX sprintf '0x%08X' crc messagebox inputstr 'CRC16 = '