![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
C语言中按位运算符之间有没有类似数学上加减乘除的运算律的关系
如题。就是有没有类似交换律、结合律或分配律之类的,如“(n&n2)&n3=n&(n2&n3)”。如果有的话尽量全一些,最好包括“&|^~”它们自身与它们之间的运算关系。因...
如题。就是有没有类似交换律、结合律或分配律之类的,如“(n&n2)&n3=n&(n2&n3)”。如果有的话尽量全一些,最好包括“& | ^ ~”它们自身与它们之间的运算关系。
因为此类问题在网上没有出现过,所以不确定是否有答案,为保险起见初始悬赏为0,如果有好的答案,一定会追加悬赏。 展开
因为此类问题在网上没有出现过,所以不确定是否有答案,为保险起见初始悬赏为0,如果有好的答案,一定会追加悬赏。 展开
5个回答
展开全部
这个你可以参考二进制代数逻辑
按位运算其实是每一位隔离处理的,但是在处理逻辑过程上是相同的
知道了这一点,结合逻辑中的与,或,取反可以得到任何的逻辑(数学中叫完备集)
在C语言中你强调的那些分配律什么的其实就是逻辑过程,这个在C语言中是最基本的思想。(注意括号的优先级是高于这几个逻辑符号的,要实现这几个运算律就和你做数学题的过程一样)
交换律、结合律、分配律形式上和数学表达内涵是一样的,自己慢慢体会。
一、二进制运算律
⒈所有可能出现的数只有0和1两个。
⒉基本运算只有“与”、“或”、“非”三种。
与运算(逻辑与、逻辑乘)定义为:
0·0=0 0·1=0 1·0=0 1·1=1
或运算(逻辑或、逻辑加)定义为:
0+0=0 0+1=1 1+0=1 1+1=1
二、基本公式(·表示&;+表示| )
如果用字母来代替数(字母的取值非0即1),根据布尔定义的三种基本运算,我们马上可推出下列基本公式:
A·A=A A+A=A
A·0=0 A+0=A
A·1=A A+1=1
三、类代数的基本定律
幂等律 a∪a=a
a∩a=a
交换律 a∪b=b∪a
a∩b=b∩a
结合律 a∪(b∪с)=(a∪b)∪с
a∩(b∩с)=(a∩b)∩с
吸收律 a∪(a∩b)=a
a∩(a∪b)=a
分配律 a∪(b∩с)=(a∪b)∩(a∪с)
a∩(b∪с)=(a∩b)∪(a∩с)
幺元律 0∪a =a
1∩a =a
1∪a =1
0∩a =0
补余律 a∪a' =1
a∩a' =0
按位运算其实是每一位隔离处理的,但是在处理逻辑过程上是相同的
知道了这一点,结合逻辑中的与,或,取反可以得到任何的逻辑(数学中叫完备集)
在C语言中你强调的那些分配律什么的其实就是逻辑过程,这个在C语言中是最基本的思想。(注意括号的优先级是高于这几个逻辑符号的,要实现这几个运算律就和你做数学题的过程一样)
交换律、结合律、分配律形式上和数学表达内涵是一样的,自己慢慢体会。
一、二进制运算律
⒈所有可能出现的数只有0和1两个。
⒉基本运算只有“与”、“或”、“非”三种。
与运算(逻辑与、逻辑乘)定义为:
0·0=0 0·1=0 1·0=0 1·1=1
或运算(逻辑或、逻辑加)定义为:
0+0=0 0+1=1 1+0=1 1+1=1
二、基本公式(·表示&;+表示| )
如果用字母来代替数(字母的取值非0即1),根据布尔定义的三种基本运算,我们马上可推出下列基本公式:
A·A=A A+A=A
A·0=0 A+0=A
A·1=A A+1=1
三、类代数的基本定律
幂等律 a∪a=a
a∩a=a
交换律 a∪b=b∪a
a∩b=b∩a
结合律 a∪(b∪с)=(a∪b)∪с
a∩(b∩с)=(a∩b)∩с
吸收律 a∪(a∩b)=a
a∩(a∪b)=a
分配律 a∪(b∩с)=(a∪b)∩(a∪с)
a∩(b∪с)=(a∩b)∪(a∩с)
幺元律 0∪a =a
1∩a =a
1∪a =1
0∩a =0
补余律 a∪a' =1
a∩a' =0
展开全部
这个你可以参考二进制代数逻辑
按位运算其实是每一位隔离处理的,但是在处理逻辑过程上是相同的
知道了这一点,结合逻辑中的与,或,取反可以得到任何的逻辑(数学中叫完备集)
在C语言中你强调的那些分配律什么的其实就是逻辑过程,这个在C语言中是最基本的思想。(注意括号的优先级是高于这几个逻辑符号的,要实现这几个运算律就和你做数学题的过程一样)
交换律、结合律、分配律形式上和数学表达内涵是一样的,自己慢慢体会。
一、二进制运算律
⒈所有可能出现的数只有0和1两个。
⒉基本运算只有“与”、“或”、“非”三种。
与运算(逻辑与、逻辑乘)定义为:
0·0=0 0·1=0 1·0=0 1·1=1
或运算(逻辑或、逻辑加)定义为:
0+0=0 0+1=1 1+0=1 1+1=1
二、基本公式(·表示&;+表示| )
如果用字母来代替数(字母的取值非0即1),根据布尔定义的三种基本运算,我们马上可推出下列基本公式:
A·A=A A+A=A
A·0=0 A+0=A
A·1=A A+1=1
三、类代数的基本定律
幂等律 a∪a=a
a∩a=a
交换律 a∪b=b∪a
a∩b=b∩a
结合律 a∪(b∪с)=(a∪b)∪с
a∩(b∩с)=(a∩b)∩с
吸收律 a∪(a∩b)=a
a∩(a∪b)=a
分配律 a∪(b∩с)=(a∪b)∩(a∪с)
a∩(b∪с)=(a∩b)∪(a∩с)
幺元律 0∪a =a
1∩a =a
1∪a =1
0∩a =0
补余律 a∪a' =1
a∩a' =0
按位运算其实是每一位隔离处理的,但是在处理逻辑过程上是相同的
知道了这一点,结合逻辑中的与,或,取反可以得到任何的逻辑(数学中叫完备集)
在C语言中你强调的那些分配律什么的其实就是逻辑过程,这个在C语言中是最基本的思想。(注意括号的优先级是高于这几个逻辑符号的,要实现这几个运算律就和你做数学题的过程一样)
交换律、结合律、分配律形式上和数学表达内涵是一样的,自己慢慢体会。
一、二进制运算律
⒈所有可能出现的数只有0和1两个。
⒉基本运算只有“与”、“或”、“非”三种。
与运算(逻辑与、逻辑乘)定义为:
0·0=0 0·1=0 1·0=0 1·1=1
或运算(逻辑或、逻辑加)定义为:
0+0=0 0+1=1 1+0=1 1+1=1
二、基本公式(·表示&;+表示| )
如果用字母来代替数(字母的取值非0即1),根据布尔定义的三种基本运算,我们马上可推出下列基本公式:
A·A=A A+A=A
A·0=0 A+0=A
A·1=A A+1=1
三、类代数的基本定律
幂等律 a∪a=a
a∩a=a
交换律 a∪b=b∪a
a∩b=b∩a
结合律 a∪(b∪с)=(a∪b)∪с
a∩(b∩с)=(a∩b)∩с
吸收律 a∪(a∩b)=a
a∩(a∪b)=a
分配律 a∪(b∩с)=(a∪b)∩(a∪с)
a∩(b∪с)=(a∩b)∪(a∩с)
幺元律 0∪a =a
1∩a =a
1∪a =1
0∩a =0
补余律 a∪a' =1
a∩a' =0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有。摩根定律
非(P 且 Q)=(非 P)或(非 Q)
非(P 或 Q)=(非 P)且(非 Q)
类似的还有异或同或
一般计算机书上都会有的
非(P 且 Q)=(非 P)或(非 Q)
非(P 或 Q)=(非 P)且(非 Q)
类似的还有异或同或
一般计算机书上都会有的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
满足运算法则即可。建议先了解清楚C的运算符优先级。一共15个。
参考资料:http://blog.csdn.net/huangblog/article/details/8271791
参考资料:http://blog.csdn.net/huangblog/article/details/8271791
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
离散数学里有些介绍,能不能交换、组合、分配都有的
追问
能不能说的详细一点呢(我现在只是个中学生,在研究非对称性加密而已)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询