社区
C语言
帖子详情
c语言异或操作
mtkcpp
2010-04-22 03:05:53
static unsigned char oncore_cmd_Bj[] = { 'B', 'j', 0 };
unsigned char cs = 0;
int len=sizeof(oncore_cmd_Bj);
char *ptr=oncore_cmd_Bj;
while (len--)
cs ^= *ptr++; //请问这句是什么作用?我的理解是 cs = cs ^ (*ptr) ,之后就是ptr++,也就是cs=cs ^ (*(ptr+1))
...全文
884
6
打赏
收藏
c语言异或操作
static unsigned char oncore_cmd_Bj[] = { 'B', 'j', 0 }; unsigned char cs = 0; int len=sizeof(oncore_cmd_Bj); char *ptr=oncore_cmd_Bj; while (len--) cs ^= *ptr++; //请问这句是什么作用?我的理解是 cs = cs ^ (*ptr) ,之后就是ptr++,也就是cs=cs ^ (*(ptr+1))
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mtkcpp
2010-04-22
打赏
举报
回复
我现在知道了,他是用来做校验的。
mtkcpp
2010-04-22
打赏
举报
回复
[Quote=引用 2 楼 huanmie_09 的回复:]
cs ^= *ptr++;
尽量避免这样的写法.后自加的时间点是由编译器来实现的.
如果是楼主那样理解的话,建议写成以下两句:
cs ^= *ptr;
ptr++;
[/Quote]
这是一个开源软件,应该是很专业的人写的。我就是现在不太理解为什么这么写。我不明白对cs有什么影响,有什么作用?
yiruirui0507
2010-04-22
打赏
举报
回复
cs ^= *ptr;
ptr++;
mtkcpp
2010-04-22
打赏
举报
回复
[Quote=引用楼主 it3500 的回复:]
static unsigned char oncore_cmd_Bj[] = { 'B', 'j', 0 };
unsigned char cs = 0;
int len=sizeof(oncore_cmd_Bj);
char *ptr=oncore_cmd_Bj;
while (len--)
cs ^= *ptr++; //请问这句是什么作用?我的理解是 cs = cs ^ (*pt……
[/Quote]
但我不明白的是为什么这样写呢?对cs有什么影响呢?
huanmie_09
2010-04-22
打赏
举报
回复
cs ^= *ptr++;
尽量避免这样的写法.后自加的时间点是由编译器来实现的.
如果是楼主那样理解的话,建议写成以下两句:
cs ^= *ptr;
ptr++;
haoxiang12345
2010-04-22
打赏
举报
回复
后置的++应该是先进行异或运算再指向下一个
C语言
实现的
异或
加解密源代码.zip
这个程序主要的实现用
异或
加解密,与普通的程序不同的是:只需要输入要加解密的文件名和密码即可,不需要输入
操作
后的文件名。程序首先会随机生成一个临时文件(文件名随机),将
操作
后的数据存在临时文件里,然后删除原始文件,再将临时文件改成原始文件的名称。 ps:
操作
的文件要和exe放在同一目录下,此程序做了容错处理,个人觉得对用这个程序对自己一些隐私的东西做加密处理挺好的。我用的是dev。
282-用P0口显示按位
异或
运算结果(51单片机
C语言
实例Proteus仿真和代码)
282-用P0口显示按位
异或
运算结果(51单片机
C语言
实例Proteus仿真和代码)282-用P0口显示按位
异或
运算结果(51单片机
C语言
实例Proteus仿真和代码)282-用P0口显示按位
异或
运算结果(51单片机
C语言
实例Proteus仿真和代码)282-用P0口显示按位
异或
运算结果(51单片机
C语言
实例Proteus仿真和代码)282-用P0口显示按位
异或
运算结果(51单片机
C语言
实例Proteus仿真和代码)282-用P0口显示按位
异或
运算结果(51单片机
C语言
实例Proteus仿真和代码)282-用P0口显示按位
异或
运算结果(51单片机
C语言
实例Proteus仿真和代码)282-用P0口显示按位
异或
运算结果(51单片机
C语言
实例Proteus仿真和代码)282-用P0口显示按位
异或
运算结果(51单片机
C语言
实例Proteus仿真和代码)282-用P0口显示按位
异或
运算结果(51单片机
C语言
实例Proteus仿真和代码)282-用P0口显示按位
异或
运算结果(51单片机
C语言
实例Proteus仿真和代码)282-用P0口显示按位
异或
运算结果(51单片机
C语言
实例Proteus仿真
单片机的
C语言
中位
操作
用法.pdf
详细介绍了单片机
c语言
编程中的位运算作用。pdf共5页,内容有按位与,按位或,按位
异或
,取反,左移右移的
操作
方法,还有这些
操作
在
c语言
程序设计中出现的情况与作用。帮你解决单片机程序设计的难题。
C语言
及汇编语言中的
异或
和运算详解解析.docx
异或
运算是计算机中常见的按位逻辑运算,可用于
C语言
和汇编语言中。它通过比较两个
操作
数的对应位来产生结果:如果对应位相同,则结果为0;如果对应位不同,则结果为1。在
C语言
中,使用^符号执行
异或
运算,而在汇编语言中,使用不同的指令,如x86架构中的`XOR`。
异或
运算常见于加密算法、数据传输校验等领域。例如,通过将数据与密钥进行
异或
运算来加密和解密信息,或者在数据传输过程中使用
异或
运算来检测错误。这种
操作
在实现简单的数据加密、校验和安全保护等方面具有重要作用。
C语言
之移位
操作
C语言
很多
操作
都是以字节为单位进行的,但有时为了节约空间,很多系统程序中要求在比特位级别进行运算处理。
C语言
一同提供了六种位运算的运算符,分别为&(按位与),|(按位或),~(按位取反),^(按位
异或
),<<(左移),>>(右移)。本次我们进行移位
操作
的分析,看看在不同情况下移位
操作
的情形。 (1)变量为正数的情形 当变量为正数的时候,无论左移还是右移,移动溢出的位丢弃,剩下的位补的都是0。 1.当移位的位数大于,0,并且小于所定义的类型的位数(如变量为整型,那他移位的范围在0~32之间)(左移和右移) 按照正常的情况处理,即将变量的二进制位移动相应的位数,然后在空出来
C语言
69,336
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章