1

私はここで本当にイライラしています。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 = 49c = 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 

私の間違いはどこですか?

4

2 に答える 2