先打个广告:欢迎关注我的公众号,参与 文史大挑战 趣味题目。使用方法见 这篇文章 。
正文开始:
每篇开头会提出一个问题,希望能引起你的思考,并且请你试着回答。相信在读完整篇后,你会有明确的答案。
问题:异或运算能用代数方法表示吗?
- A. 不能
- B. 只能用加法
- C. 只能用乘法
- D. 加法和乘法都可以
为什么要研究异或?异或跟WCDMA有什么关系?异或是非常简单而又实用的二进制运算,所以它成为CDMA系统(包括过时的IS-95和我们现在说的Wideband-CDMA, WCDMA)核心中的核心。所以说掌握了异或算法,也就掌握了WCDMA的钥匙。
算法和性质
异或运算通常用符号"⊕“表示,A⊕B的结果用真值表表示是这样的
A | B | A⊕B |
---|---|---|
假 | 假 | 假 |
假 | 真 | 真 |
真 | 假 | 真 |
真 | 真 | 假 |
直观的解释异或运算,其实是个异值比较器,当两个输入端的值不同时,输出为真。用数学语言说:
当且仅当有一个输入为真时,结果是真。
仔细观察异或的真值表,可以得到出结论:任何值和本身异或,结果都是假。
A ⊕ A = 假
任何值和假异或,得到它本身。
A ⊕ 假 = A
异或满足结合律,所以结合以上两条关系,得到:任何值连续两次和同一个值异或,都能恢复原值。
(A ⊕ B) ⊕ B = A ⊕ (B ⊕ B) = A ⊕ 假 = A
代数表示法
为了方便表示和计算,我们可以用数字和代数运算表示异或算法。只要能得到相同的结果,它们之间没有任何区别。因为在实际电路里,只有电平的高与低、灯泡的亮和暗、电子的正与负,跟我们用什么表示数学符号去表示它们没有关系,数学符号仅仅用来记录状态。以下用两种代数表示法表示异或运算。
(0,1) 模2加法
模2加的意思是:将相加得到的和除以2的余数,作为最终的结果。
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0
(1,–1)乘法
1 x 1 = 1
1 x -1 = -1
-1 x 1 = -1
-1 x -1 = 1
对比可以发现,这两种代数算法的结果和异或运算是完全一致的,我们可以用这两种代数运算表示信号的异或计算。所以从现在可以使用(1,-1)表示信号电平,乘法表示异或。比如:下面两组4比特序列进行异或运算,可以表示为:
( 1 -1 1 -1 ) x ( -1 1 -1 1 ) = ( -1 -1 -1 -1 )
如果您对本文有疑问或者寻求合作,欢迎 联系邮箱 。邮箱已到剪贴板
精彩评论
本站 是个人网站,采用 署名协议 CC-BY-NC 授权。
欢迎转载,请保留原文链接 https://www.lfhacks.com/tech/wcdma2/ ,且不得用于商业用途。