mark 编程先导课 第五讲 二进制的运算

2019.11.25 星期一 阴

移位运算符组成的表达式也属于算术表达式
c语言中移位运算只能用于整数,整数A左移1位得到的结果为A*2,右移1位为A/2取整;

左移:左移运算是将一个二进制位的操作数按指定移动的位数向左移动,移出位被丢弃,右边移出的空位一律补0;
右移:右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位一律补符号位;
无符号右移:即(逻辑右移)无符号右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位一律补0;
布尔值:是“真” True 或“假” False 中的一个(0为假,非0真)
或运算:如果一个操作数或多个操作数为 true(真),则逻辑或运算符返回布尔值 true(真);只有全部操作数为false(假),结果才是 false(假)
相当于一个并联电路任意一个分支接通就有输出;

A B
1 1 1
1 0 1
0 1 1
0 0 0

逻辑或满足以下性质:
结合律: A||(B||C)= (A||B)||C
交换律: A||B = B||A
分配律: A||(B∧C) = ((A||B)∧(A||C))
A∧(B||C) = ((A∧B)||(A∧C))
A||(B=C) = ((A||B)=(A||C))
幂等律: A||A = A
单调性: (A→B)→((C||A)→(C||B))
(A→B)→((A||C)→(B||C))
保真性:所有变量的真值皆为“真”的命题在逻辑或运算后的结果为真。
保假性:所有变量的真值皆为“假”的命题在逻辑或运算后的结果为假。

与运算:只有两个操作数都是真,结果才是真;
相当于串联电路,只有所有开关打开,才会有输出;

A B
1 1 1
1 0 0
0 1 0
0 0 0

异或运算:当AB不同时,输出1;当AB相同时,输出0;

A B
1 1 0
1 0 1
0 1 1
0 0 0

非运算:就是指本来值的反值;

A
1 0
0 1

你可能感兴趣的:(mark 编程先导课 第五讲 二进制的运算)