私はここで本当にイライラしています。CRC-CCITT アルゴリズムを実装しようとしたところ、インターネット サイトで非常に優れた例を見つけました。
出力が完全に理解できない行が 1 つあります。
unsigned short update_crc_ccitt( unsigned short crc, char c){
[...]
short_c = 0x00ff & (unsigned short) c;
[...]
}
"test"
文字列のCRCを計算したい"123456789"
。したがって、最初の実行では、文字 'c' は 1 です。私の理解short_c
では、最初の実行からも等しいはずですが1
、コンソールに出力するとshort_c = 49
、c = 1
. どのように?
0x00ff in binary is: 1 1 1 1 1 1 1 1
char 1 in binary is: 0 0 0 0 0 0 0 1
bitand should be : 0 0 0 0 0 0 0 1
私の間違いはどこですか?