首页 > 编程知识 正文

两个c左右是啥标志(c语言中的位运算符)

时间:2023-05-04 01:04:35 阅读:73869 作者:2424

安装标志位的0和1就像一个模拟信号(数字)标志。

个人在项目中为宏定义写两个标志位。 一个表示0则为false,另一个表示true。 (实际上不是零,0=0,1=! 0 )、

“0”是文字“0”,

“1”是文字“1”,

底层进制中表示

十进制0,分别为= ,进制0000、十六进制0;

十进制1,分别为=,进制0001、十六进制1;

十进制二,分别为=,进制0010、十六进制二;

十进制3,分别为=,进制0011、十六进制3;

位运算与逻辑运算的规则与原理:

位运算是指将数据转换为二进制补数形式,以位为单位进行规则计算。

“按位和”运算符“”,规则:全1则为1,否则为0;

在“位或”运算符“|”中,规则:如果均为0,则为0;否则为1;

“按位非”运算符“~”在遇到规则: 1时为0,在遇到0时为1

“异或”运算符“^”在规则:相同时为0,不同时为1。

注意:按位异或运算是可逆的。 也就是说,对某个数据a进行两次相同的异或运算后,结果返回a。 例如,如果对数值3进行2次和5异或运算,则3 ^ 5=6; 6 ^ 5=3;

逻辑运算符:

栗子:异或运算符是指参与运算的两个值,如果两个对应位相同,则结果为0,否则为1,0 ^0=0,1 ^0=1,0 ^1=1,1 ^ 1

例如,10100001^00010001=10110000;

0 ^0=0,0 ^1=1是0异或任何数,其结果=任何数;

1 ^0=1,1 ^1=0为1异或任何数,其结果=任何数取反;

任何数异或自己,等于把自己置0;

1 )按比特异或可以被用于反转特定的比特,如对数10100001的第一比特和第二比特,并且可以将整数和00000110进行按比特异或运算;

以二进制表示10100001^00000110=10100111,

以十六进制表示时,0xA1 ^0x06=0xA7。

2 )通过异或运算,可以在不使用临时变量的情况下交换两个值。 例如,要交换两个整数a、b的值,请使用以下语句:

a=10100001,b=00000110

a=a^b; //a=10100111

b=b^a; //b=10100001

a=a^b; //a=00000110

3 )异或运算符的特征是,即使对数a相同的数b(a=a^b^b )进行两次异或,仍然是原来的值a。 (实现两个值的交换正是用于这一点) ) )。

逻辑运算符规则:

逻辑运算符只能对布尔类型进行逻辑运算,但位运算也可以对数值进行逻辑运算。

看看这些基础运算,剩下的是矮小中心的业务逻辑

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。