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

我在书上看到一个例子0111<<2 = 1100 根据左移位不是应该是 11100吗,但是又没有11100这种东西。。由于C语言下学期才上 但下学期课程较重所以想先自学下 天然呆勿喷 对于任何解答都万分感谢!!~

我帮你做个清晰解释吧,首先是 ^ 他是个位异或,也就是位操作符。需要两个整数型操作数,在每个位位置上 如第三位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。
希望能帮到你=-=。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-21
那题目的意思应该是在四位二进制的情况下,也就是说它的最左边的那一位已经是最高位的,移出去的就只能丢弃。一般写代码的时候,都会知道某个变量占几个字节的大小,所以它移位的结果就会确定追问

谢谢啦!我再去翻翻书。。

第2个回答  2012-04-21
书上的例子的前提是这个变量只4位宽,前面被移出去了。
^ << >> ~ && ||,任何C的书都有详解,仔细找找追问

恩谢谢! 我再去看看 ~

C语言中“>>=,<<=,&=,^=,|=”分别表示什么意思?请举例说明
1、C语言中的 >>= 意思为:右移后赋值 代码示例为:x = 8; x >>= 3;右移后结果为:00000000 00000000 00000000 00000001 2、C语言中的 <<= 意思为:左移后赋值 代码示例为:x = 8;x <<= 3;左移后赋值结果为:00000000 00000000 00000000 01000000 3、C语言中的 &= 意思为:按位与...

c语言中的>>和<<分别是什么意思啊?
C语言中的>>和<<分别是左移运算符和右移运算符,用于整数在二进制形式的移位运算。1、左移运算符(<<)规则:按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。语法格式:需要移位的数字 << 移位的次数,例如: 3 << 2,则是将数字3左移2位。数学意义:在数字...

在C语言中各个标点符号的作用
: ),类 等等中常用到,逗号 一般用于间隔两个变量,例如定义两个变量 int a ,b ;然后还有在逗号表达式中用于间隔连个表达式。 等号在C语言中式赋值符号! 当然还有好多符号,在你以后学习中慢慢会接触到,不要着急,等遇到了个个击破, 现在先给你提一下 1.算术运算符用于各类数值运算。包...

C语言中位移位运算符?
>>右移运算符:运算规则:把">>"左边的运算数的各二进制位全部右移若干位,移动的位数由">>"右边的数指定。有符号的数右移时符号也随着右移;是正数的话在最高位补0,是负数的话,符号位为1,最高位补0还是补1决取于计算机系统的规定。移入0的称为"逻辑右移",移入1的称为“算术左移”。

C语言中>>和<<如何使用?
C语言中<< 代表左移运算符,>> 代表右移运算符,位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算。<< 代表左移运算符:左移运算符用来将一个数的各二进制位全部左移若干位,移动的位数由右操作数指定,右操作数必须是非负值,其右边空出的位用0填补,高位左移溢出则舍弃...

C语言中的=>的含义
&: 在C语言中有两种意思,一种是取地址符,是单目运算符;另一种是位运算符,表示“按位与”,是双目运算符。|: 是位运算符,表示“按位或”。资料扩展1、符号 & 和 | 这两个运算符都是二进制的按位操作符。&: 二进制“与”(都为1时,结果是1,否则是0。),比如:1010 & 1011 = 1010...

你好 请问C语言中这个符号->是什么意思
表示求结构体的成员。为二元操作符,左为结构体的指针,右为成员名。

问个关于C语言中函数形式参数的问题
C语言关键字const就是用来限定一个变量不允许被改变的修饰符(Qualifier)。上述代码中变量n被修饰为只读变量,可惜再怎么修饰也不是常量。而ANSI C规定数组定义时长度必须是“常量”,“只读变量”也是不可以的,“常量”不等于“不可变的变量”。但是在C99中,局部数组是可以使用变量作为其长度的。2)...

C语言中的逻辑取反是“~”符号吗逻辑或是“|”符号吗?
在逻辑“或”表达式为 true 时,这将消除对第二个操作数的不必要的计算。C语言中的逻辑符号解释 这个不是C语言认可的表达式 看着像是数学公式 !是阶乘的意思 .C语言中,逻辑与的符号是 &&与 另补充, ||或 ?:三目判断 请采纳。C语言中&是逻辑或吗 && 运算,即左边的值如果非0,...

c语言中 “->” 这个符号是什么意思?
&: 在C语言中有两种意思,一种是取地址符,是单目运算符;另一种是位运算符,表示“按位与”,是双目运算符。|: 是位运算符,表示“按位或”。资料扩展1、符号 & 和 | 这两个运算符都是二进制的按位操作符。&: 二进制“与”(都为1时,结果是1,否则是0。),比如:1010 & 1011 = 1010...

相似回答