📄 crc-ccitt -- 16-bit.htm
字号:
<TR>
<TD>A string of 256 upper case "A" <BR>characters with no line
breaks</TD>
<TD>
<CENTER>0xE938</CENTER></TD>
<TD>
<CENTER>0xEA0B</CENTER></TD>
<TD>
<CENTER>256</CENTER></TD></TR></TBODY></TABLE>
<P>Among the problems with the "Bad_CRC" implementation is that it does not
augment a zero-length message with 16 zero bits, as is required (either
implicitly or explicitly) when calculating the standard CRC. Thus, it
reports a CRC of <I>0xFFFF</I> -- not <B>0x1D0F</B> -- for a zero-length
message.
<P>
<HR width="100%">
<H3><A name=long-hand></A>Long-hand Calculation for a One-byte Message</H3>The
purpose of this section is to demonstrate that the "Good_CRC" values listed in
the previous section do, in fact, conform to the CRC-CCITT specification as
defined at the <A
href="http://www.joegeluso.com/software/articles/ccitt.htm#overview">top of this
document</A> <BR>
<TABLE cols=1 width="100%" border=1>
<TBODY>
<TR>
<TD><TT>Calculation of the 16-bit CRC-CCITT for a one-byte message
consisting of the letter "A":</TT>
<P><TT>
Quotient= 111100001110111101011001</TT>
<BR><TT>
poly=
------------------------------------------</TT> <BR><TT>10001000000100001
) <FONT color=#ff0000>1111111111111111</FONT><B>01000001</B><FONT
color=#3366ff>0000000000000000</FONT></TT>
<BR><TT>
10001000000100001</TT>
<BR><TT>
----------------- <FONT
color=#ff0000>red bits</FONT> are initial value</TT>
<BR><TT>
11101111110111111 <B>bold bits</B> are
message</TT>
<BR><TT>
10001000000100001 <FONT color=#3366ff>blue
bits</FONT> are augmentation</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
11001111100111100</TT>
<BR><TT>
10001000000100001</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
10001111000111010</TT>
<BR><TT>
10001000000100001</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
00001110000110110</TT>
<BR><TT>
00000000000000000</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
00011100001101100</TT>
<BR><TT>
00000000000000000</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
00111000011011000</TT>
<BR><TT>
00000000000000000</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
01110000110110001</TT>
<BR><TT>
00000000000000000</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
11100001101100010</TT>
<BR><TT>
10001000000100001</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
11010011010000110</TT>
<BR><TT>
10001000000100001</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
10110110101001110</TT>
<BR><TT>
10001000000100001</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
01111101011011110</TT>
<BR><TT>
00000000000000000</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
11111010110111100</TT>
<BR><TT>
10001000000100001</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
11100101100111010</TT>
<BR><TT>
10001000000100001</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
11011011000110110</TT>
<BR><TT>
10001000000100001</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
10100110000101110</TT>
<BR><TT>
10001000000100001</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
01011100000011110</TT>
<BR><TT>
00000000000000000</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
10111000000111100</TT>
<BR><TT>
10001000000100001</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
01100000000111010</TT>
<BR><TT>
00000000000000000</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
11000000001110100</TT>
<BR><TT>
10001000000100001</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
10010000010101010</TT>
<BR><TT>
10001000000100001</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
00110000100010110</TT>
<BR><TT>
00000000000000000</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
01100001000101100</TT>
<BR><TT>
00000000000000000</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
11000010001011000</TT>
<BR><TT>
10001000000100001</TT>
<BR><TT>
-----------------</TT>
<BR><TT>
1001010001111001 = CRC</TT> <BR> </P></TD></TR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -