質問編集履歴
1
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
crc16
|
1
|
+
crc16の記述がわからない
|
test
CHANGED
@@ -1,49 +1 @@
|
|
1
|
-
crc16
|
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
|
-
優しく教えていただけると幸いです。お願いします
|