vs 中关于C语言操作符的一些基本问题 希望解答! 请问 ^ << >> ~ && || 这六个符号是什么意思?

我在书上看到一个例子0111<<2=1100根据左移位不是应该是11100吗,但是又没有11100这种东西。。由于C语言下学期才上但下学期课程较重所以想先自学下天然呆勿喷... 我在书上看到一个例子0111<<2 = 1100 根据左移位不是应该是 11100吗,但是又没有11100这种东西。。由于C语言下学期才上 但下学期课程较重所以想先自学下 天然呆勿喷 对于任何解答都万分感谢!!~ 展开
 我来答
log风筝
2012-04-28
知道答主
回答量:21
采纳率:0%
帮助的人:13.4万
展开全部
我帮你做个清晰解释吧,首先是 ^ 他是个位异或,也就是位操作符。需要两个整数型操作数,在每个位位置上 如第三位0和1,取1。”对应的位只有1个为1,则操作结果中该位为1,否则为0“。
11001010101
10101010101
而“|”是位或,也需要两个整形操作数。和位异或不同的是,对应的位有一个或者两个都为1,则操作数结果中该位为1;
<< >>这两个都是位操作符。这两种操作符将其左操作数的各个位向左(<<)向右(>>)移动若干个位数,比如:移动到第三位 bits>>3;可以产生新的值,丢弃移出的位。
100101010;
~这个就是位求反啦。就是将操作数的每一个二进制位求反的操作符。比如:
unsigned int bits=0227 相对应的二进制:10010111;
bits=~bits = 01101000;
&& ||这两个就是逻辑操作符啦,使用在算术或指针类型的操作数。&&这个是逻辑与 。
逻辑操作将其操作数视为条件表达式。逻辑与操作符对两个操作数都为ture的时候才ture。而“
||"逻辑或呢,两个操作数之一位ture就为ture。
希望能帮到你=-=。
zyh1141298056
2012-04-21 · TA获得超过1308个赞
知道小有建树答主
回答量:500
采纳率:100%
帮助的人:586万
展开全部
那题目的意思应该是在四位二进制的情况下,也就是说它的最左边的那一位已经是最高位的,移出去的就只能丢弃。一般写代码的时候,都会知道某个变量占几个字节的大小,所以它移位的结果就会确定
追问
谢谢啦!我再去翻翻书。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱思鱼
2012-04-21 · 超过17用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:49万
展开全部
书上的例子的前提是这个变量只4位宽,前面被移出去了。
^ << >> ~ && ||,任何C的书都有详解,仔细找找
追问
恩谢谢! 我再去看看 ~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式