Object-c 纯手写方法CRC8,16,32,跟我用笔计算的一样,不过跟那些代码算法结果32位的不同
来源:互联网 发布:淘宝店铺运营分析报告 编辑:程序博客网 时间:2024/05/16 08:04
CRC8正确方法
again只能为2个字,不然的话得自己更改23,n-8的位移数目
int again = 0x3842;
again = again <<8;
NSLog(@"%x",again);
for (int n =23; n>0; n--) {
if (again >>n & 1) {
NSLog(@"n= %d",n);
again ^= (0x131<<(n-8));
NSLog(@"%x",again);
}else{
again = again;
}
if (again <0x0100) {
NSLog(@"xiao--%d",n);
NSLog(@"again=%x",again);
return 0;
}
}
CRC16正确方法
again只能为4个字,不然的话得自己更改47,n-16的位移数目
unsigned long ploy =0x11021;
unsigned long again = 0x11223344;
again = again <<16;
NSLog(@"%lx",again);
for (int n =47; n>0; n--) {
if (again >>n & 1) {
NSLog(@"n= %d",n);
again ^= (ploy<<(n-16));
NSLog(@"%lx",again);
}else{
again = again;
}
if (again <0x010000) {
NSLog(@"xiao--%d",n);
NSLog(@"again=%lx",again);
return 0;
}
}
CRC正确方法二,采用分步位移的方法,避免一次性全部位移而超出64位.
unsigned long ploy =0x11021;
unsigned long again = 0x01020304;
for (int j =0; j<5; j++) {
NSLog(@"j%d",j);
if (j!=0) {
again = again <<4;
}
NSLog(@"%lx",again);
for (int n =31; n>0; n--) {
if (again >>n & 1) {
NSLog(@"n2= %d",n);
again ^= (ploy<<(n-16));
NSLog(@"%lx",again);
}else{
again = again;
}
if (again <0x010000) {
NSLog(@"xiao--%d",n);
NSLog(@"again=%lx",again);
break;
}
}
}
return 0;
unsignedlong ploy =0x104c11db7;
unsignedlong again =0x40ff048001000000;
for (int j =0; j<9; j++) {
NSLog(@"j%d",j);
if (j!=0) {
again = again <<4;
}
NSLog(@"%lx",again);
for (int n =63; n>0; n--) {
if (again >>n & 1) {
NSLog(@"n2= %d",n);
again ^= (ploy<<(n-32));
NSLog(@"%lx",again);
}else{
again = again;
}
if (again <0x0100000000) {
NSLog(@"xiao--%d",n);
NSLog(@"again=%lx",again);
break;
}
}
}
return 0;
- Object-c 纯手写方法CRC8,16,32,跟我用笔计算的一样,不过跟那些代码算法结果32位的不同
- 转载一篇文章给自己以及给那些跟我一样浮躁的程序员
- 我跟学妹的那些事
- 写给那些跟自己一样正在奋斗的人们
- 网上找的纯C实现的FFT,与matlab计算结果完全一样
- 2006-10-12 我跟她们是一样的呀~
- 帮助跟我一样的小鸟理解MVC
- 帮助跟我一样的小鸟理解MVC
- 纪念一个跟我用一样手机的外人
- 【胖张】献给跟我一样的菜鸟
- 跟我学系列之NIO的那些坑
- lsmod 我跟他一样
- JAVA的CRC8算法
- 微软跟我们的不同
- HTML 跟 XHTML的不同
- find_or_initialize_by 跟 find_or_create_by的不同
- 32位汇编没有基址跟偏移地址的概念
- object pascal跟c的一些小区别
- IntelliJ IDEA下project概念和module的概念解释
- 2012年5月SAT香港真题解析
- 拷贝80关关卡copy_maps.py
- Redis-博文功能实现
- android完美截屏
- Object-c 纯手写方法CRC8,16,32,跟我用笔计算的一样,不过跟那些代码算法结果32位的不同
- git rebase
- WiFi连上了,却上不了网,请看这里
- 高精度测量
- asp.net利用自定义Http处理程序实现URL伪静态之初探
- Linux文件权限属性后面的点的含义(ls -l)
- mysql主从复制之新库
- unknow system variable 'language'
- VS2013(update4) + wdk8.1 驱动开发环境搭建