请前辈告知这些逻辑符号的意思,谢谢!特别是《=那条语句

2025-02-27 06:18:28
推荐回答(2个)
回答1:

key_s = 0x00;
key_s |= K2; 就是进行或的运算,不是异或,异或是^。意思就是,对于某个bit,只要这两个数的这个bit钟有一个为1,则结果就为1,若连个都为0,则结果为0。会对数据类型的所有bit执行这个操作。

如果key_s和K2是相同数据类型的话,这两句执行的结果就是:key_s = K2;
第三句
key_s <<=1 相当于key_s = key_s << 1; <<表示把所有的bit向左移动一位。很显然后面得补上1位,补上去的是0

回答2:

第一句是把00按照16进制,然后复制给key_s
第二句是相当于 key_s = key_s | k2 就是进行异或操作
第三句就是key_s = key_s<<1 ,就是把key_s写成二进制后在左移1位然后赋值给key_s