请问C++的3个小问题

jack20042005 2008-03-16 02:26:19
见有书上例子中写,C++中有这种运算符吗:

1.
a<<=b //其中的<<代表什么意思,好像只有数据流中才有啊,在这里是什么意思?
a>>=b // <<
a&=b // &
a^=b // ^
a|=b // |

2.
!!!10=0 //我知道!0=1,!1=0,我想应该三次非应该等于一次非吧。可是数字10是十进制的吧,不知道如何得到该结果的,迷惑


3.
"\101\X43"="AC" //我知道""相当于\0,也知道"\n"相当于\0\n。但找不到C++如何能把该字符串自动识别字符,根据\拆开,并把\101作为八进制的0101,把\X43则看成十六进制的0x43的依据?

不懂~
...全文
164 11 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jintianfree 2008-03-23
  • 打赏
  • 举报
回复
查一些位运算的资料吧!

0是假,非零的值都为真,!1,!2,!989,结果都为0.
jack20042005 2008-03-23
  • 打赏
  • 举报
回复
根据三楼的“2 化为二进制后 ! 操作 ”和八楼的“true是 非零,而不是 1;false 是 零。”

是不是可以这样理解?:


!!!10=!!!(H1010)=!!0=!1=0
IT_lau 2008-03-16
  • 打赏
  • 举报
回复
like this....[Quote=引用 7 楼 coding_hello 的回复:]
这种问题就应该去看参考书,C++ Primer之类的参考书是必备的,尤其是初学者~!
[/Quote]
hityct1 2008-03-16
  • 打赏
  • 举报
回复
2.
true是 非零,而不是 1;false 是 零。
野男孩 2008-03-16
  • 打赏
  • 举报
回复
这种问题就应该去看参考书,C++ Primer之类的参考书是必备的,尤其是初学者~!
guanlei000 2008-03-16
  • 打赏
  • 举报
回复
1.(1)左移运算符,相当于给a乘以2.
(2)右移运算符,相当于给a除以2.
(3)按位与运算
(4)按位异或运算
(5)按位或运算
paidfighting 2008-03-16
  • 打赏
  • 举报
回复
3.其中的x就是依据,编译器看到x,认为后面是16进制数
abupie 2008-03-16
  • 打赏
  • 举报
回复
1. 移位操作符,逻辑运算符,这种写法类似i+=1;

2. !是否定

3.
"\101\X43"="AC"
\101就是表示字符的值为101, \x43表示字符的值是16进制的43, 就是10进制的67。
lockhall 2008-03-16
  • 打赏
  • 举报
回复
1 << 是移位操作符

2 化为二进制后 ! 操作

3 很拗口啊,没看懂你要表达什么意思
左大神在这 2008-03-16
  • 打赏
  • 举报
回复
up
ryfdizuo 2008-03-16
  • 打赏
  • 举报
回复
a <<=b //移位运算
第个二个没有见过,
第三个...
相关推荐
发帖
C++ 语言

6.3w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2008-03-16 02:26
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下