質問編集履歴

1

2021/02/06 14:50

投稿

benigmaet
benigmaet

スコア19

test CHANGED
@@ -1 +1 @@
1
- crc16-ccittの記述がわからない
1
+ crc16の記述がわからない
test CHANGED
@@ -1,49 +1 @@
1
- crc16-ccittについて調べてもわからなかったのでご助力願います
1
+ crc16について調べてみて分からなかったのでご助力願います
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
- [crc16-ccitt](https://blog.goo.ne.jp/masaki_goo_2006/e/a826604d8954db71505f3467080315f3)
10
-
11
-
12
-
13
-
14
-
15
- 上のサイトに書かれている関数getMemCRC16で
16
-
17
-
18
-
19
- ```c言語
20
-
21
- crc16 = CRC16Table[ (crc16 >> (16 - CHAR_BIT)) ^ *buff ] ^ (crc16 << CHAR_BIT);
22
-
23
- ```
24
-
25
-
26
-
27
- の記述がよくわかりません。
28
-
29
- どうして添字にこの計算を行うのでしょうか。
30
-
31
- その後にテーブル値とxorしている理由を教えていただきたいです
32
-
33
-
34
-
35
- また、関数getStrCRC16の戻りで0x0000をxorしているのはどうしてでしょうか
36
-
37
-
38
-
39
- ```c言語
40
-
41
- return getMemCRC16(0xFFFF,buff,strlen(string)) ^ 0x0000;
42
-
43
- ```
44
-
45
-
46
-
47
-
48
-
49
- 優しく教えていただけると幸いです。お願いします