首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C中,‘the’芯片的符号是什么?

在C中,‘the’芯片的符号是什么?
EN

Stack Overflow用户
提问于 2016-01-17 05:34:48
回答 4查看 767关注 0票数 5

当我学习逻辑门时,我知道每个逻辑门已经在C中定义了。例如,对于AND逻辑门,符号是&。对于OR,它是|。但是我找不到MUX芯片的符号。

那么,如果有一个MUX的符号,谁能告诉我吗?如果没有,有人能告诉我如何在C中复制MUX芯片吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-01-17 05:44:38

请注意,C操作的抽象级别要比逻辑门高得多,因此进行这样的比较可能会导致混淆。也就是说,最接近解复用器的是左移位操作符(我将从它开始,因为它更简单)

代码语言:javascript
复制
a << b

假设abint表达式,则该表达式将生成一个新的int,其位是移到左b时间的a比特。例如,如果a0100011011010110,而b为3,则结果将是0011011010110000。现在,如果a为0或1,并且将得到的整数解释为总线,则这对应于解复用器。

一个多路复用器/选择器可以由右移位算子>>来实现,它将位移到右边。但是,必须用1对结果进行&编辑,以便清除您感兴趣的任何其他位元:

代码语言:javascript
复制
(c >> b) & 1

这有效地从c中选择索引处的位(从最小有效位开始)。

票数 4
EN

Stack Overflow用户

发布于 2016-01-17 05:47:06

最近的是条件运算符:? :

例:

代码语言:javascript
复制
 x ? b : a 

如果x0,你得到a,如果是1 (或者其他什么),你得到b

这个运算符处理整个值,比如|| && ==! do。它不像^~&|那样对位进行操作。

多输入mux没有直接等效。但是你可以用一个匿名数组来伪造一个,例如:

代码语言:javascript
复制
 ((int[]){a,b,c,d,})[x]

但许多人对这种形式的结构不以为然。

如果您需要一个按位的mux,则需要从按位运算符构建它,例如:

代码语言:javascript
复制
 a ^ (( b ^ a ) & x)
票数 6
EN

Stack Overflow用户

发布于 2016-01-17 05:43:18

C有四个位运算符:

  • 和,&,如在a & b
  • 或者,|,如在a | b
  • 异或,^,如在a ^ b
  • 不是,~,就像在~a

没有MUX操作符。

小心你的措辞。它们被称为逐位运算符,类似于应用于整数类型的所有位的逻辑门。在C语言中,逻辑运算符是不同的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34835468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档