c++中2个问题,高手帮忙解答下
1操作数的对应2进制位是什么意思?
2[code]
swich(c)
{case 0: d=0;break;
case 1:
case 2: d=3;break;}[/code]
中,break是什么意思? 1,问题似乎不完整,既然是对应,就应该至少有两个东西吧。也许我理解有问题吧。
2.break就是中断的意思,switch是交换、变更的意思。switch中加了个break就是中断switch。可以理解为跳出switch。 我的书上这么写的“按位或|使结果为两个操作数的对应二进制位的或”“两个操作数的对应二进制位的或”我不懂 这样说我就明白啦
你说的是位运算符吧
位运算符有三个:
& 与运算 0 & 0=0 , 0 & 1=0 , 1 & 1=1
| 或运算 0 | 0=0, 0 | 1=1, 1 | 1 =1
~ 非运算 单目运算(只有一个操作数) ~0 =1, ~1=0
位运算可以理解为先指把数转换成相应的二进制位,再进行运算,比如 3 & 4的运算方式如下:
假设3和4是BYTE类型,只占一个字节,如果是其他类型,只需在左边补0直到位数相同。
3 00000011
& 4 00000100
--------------------------------
0 00000000
即 3 & 4 =0,同理 3 | 4=7 (00000111),~4=-5(11111011) BREAK就是执行完前边的语句,然后跳出循环.
回复 3# 的帖子
书上写的不一定要全部理解 第一个问题不知道,第二个问题可以理解为跳出页:
[1]
