首页
社区
课程
招聘
[旧帖] [己解决]CRC-16[01h]=C0C1h是怎么算出来的? 0.00雪花
发表于: 2007-10-27 20:30 5354

[旧帖] [己解决]CRC-16[01h]=C0C1h是怎么算出来的? 0.00雪花

2007-10-27 20:30
5354
看了几天CRC原理,懵懵懂懂的感觉。有谁能举个实际的例子来演示算CRC的过程吗?谢谢:
比如CRC-16 Table的01h位置处C0C1是怎么算出来的?

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zsa
2
历经数日的艰难险阻,总算搞清楚了。
2007-10-31 16:28
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
顶下.你怎么解决的?写出来嘛
2007-10-31 21:18
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
是呀,让大家也学习学习!
2007-11-1 13:09
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zsa
5
其实就是这段C代码的实现。
#include <stdio.h>
#define CRC32_POLYNOMIAL 0xEDB88320
#define CRC16_POLYNOMIAL 0xA001(8005的反转)

void main()
{
 unsigned int crc;
 int j;
 crc=1;
  for (j = 8; j > 0; j--) {
   if (crc & 1)
    crc = (crc >> 1) ^ CRC16_POLYNOMIAL;
   else
    crc >>= 1;
   printf("j=%x crc=%x\n",j,crc);
  }
}
2007-11-2 10:33
0
游客
登录 | 注册 方可回帖
返回
//