<<在c++里代表什么意思

有段代码:
temp_value = (1<<cur_port) ^ 255;

请高手解答下等式右端是什么意思

<<在这里是移位预算。

1<<cur_port相当于0x00000001向左移动了cur_port位,右边补0

1<<cur_port 就等于 2^cur_port

比如1<<2 就是0x00000001=> 0x00000100 = 4 = 2^2
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-05-28
老早前看过一本书,单用 << 用那个是换位符
就像是 0 1 1 1 1 1
换位后 1 1 1 1 1 0

还有就是操作符重载
比如
operator<<(ostream& os ...)
第2个回答  2008-05-28
<<表示把一个数的各二进制位左移若干位,右端补0,
^表示两个数的各二进制位进行按位异或.

假设cur_pot=2,则右端的意思为:把1左移cur_pot,即00000001变成00000100,然后再与255(即11111111)按位异或如下:

00000100
11111111
---------
11111011
所以结果为11111011
第3个回答  2008-05-28
<<是左移位操作;相当于乘以2的cur_port次方。
第4个回答  2008-05-28
1<<cur_port 将1左移cur_port位,cur_port是定义的宏吧
第5个回答  2008-05-28
输入流

<<在c++里代表什么意思
<<在这里是移位预算。1<<cur_port相当于0x00000001向左移动了cur_port位,右边补0 1<<cur_port 就等于 2^cur_port 比如1<<2 就是0x00000001=> 0x00000100 = 4 = 2^2

为什么C语言里的指针要用“<<”?
->是一个整体,它是用于指向结构体、C++中的class等含有子数据的指针用来取子数据。换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”.举个例子:struct Data { int a,b,c;}; \/*定义结构体*\/ struct Data *...

C++里面”>>“和”<<“各是什么意思?
<<和>>在c中是用来做位运算的,在C++中被重载了,即可以做位运算也可以做输入输出zhi流。区别如下:1、应用场合不同:C语言是结构化和模块化的语言,是面向过程的。当程序的规模较小时,C语言运用起来得心应手。但是当问题比较复杂、程序的规模比较大的时候,C语言就会展现出它的局限性;正是因为...

...里面for(j=1;j<=goodsvalidnum;j=j<<1)是什么意思,特别是j=j<<1...
<< 是位操作 中的 左移操作,后面的数字表示左移的位数。比如说int x = 5,为方便,只看x的后四位吧(实际上c++里面int有32bits),那就是'0101',做了<<1之后就成了'1010'(移位默认的是补0)。注意到c++中所有的类型都是以2进制形式储存的!所以左移1就相当于乘了2,同理左移2相当于...

c++字符串里有<<怎么解决
不是>>的问题,是“\\>>”的问题。跟在‘\\’后面的字符被认为是转义字符,而'\\>'并不是一个合法的转义字符。看样子你是要把东西追加写到listc文件里,所以最后一句do echo %%a\\>>listc应该是:do echo %%a>>listc >>前就不要用'\\'了。最后是想要do echo %%a\\>>listc的效果,那就用do ...

在C语言中<<是什么意思?
总之,在C中,左移是逻辑\/算术左移(两者完全相同),右移是算术右移,会保持符号位不变.实际应用中可以根据情况用左\/右移做快速的乘\/除运算,这样会比循环效率高很多.例:C语言中左移<<表示乘以2,右移>>表示除以2,这是由计算机工作原理导致的!但是要是7,二进制数为0111,右移一位得3.5,但是...

在c++ 里面 符号<?= 是什么意思?
在vc++中编译不通过,但是我看了问题和代码,并做了测试,这个符号等同于吧ref和rec( i, graf[disam][i], disam ) + graf[disam][i]中较小的一个赋值给ref,这样改写后,通过编译并且验证过测试数据,这种写法就是vc不支持,但是意思是这个,至于为什么他能通过编译大概使我们不了解的编译器吧...

c++里那个"<<endl"是什么意思呢?
相当于C语言的println() 回车换行 补充: printf("\\n")求采纳

x>>=1;在C++里面是什么意思
>>是右移运算符。 <<是左移运算符 x >>= 1 等同于 x = x\/2;这是位运算, >>左移运算,<< 右移运算 x >> n 等同于 x \/ (2^n)x << n 等同于 x * (2^n)当然了,要注意类型所占内存的大小,以防溢出 二进制位移操作。当 x 为 1 时,1 转为二进制还是 1,向左位移变...

cout<<endl;什么意思?
cout是c++语言的输出符号。endl是程序的结束符。cout<<endl是使程序输出结束。

相似回答
大家正在搜