黑客X档案官方论坛's Archiver

james315181933 发表于 2008-7-18 15:40

c++中2个问题,高手帮忙解答下

1
操作数的对应2进制位是什么意思?
2[code]
swich(c)
{case 0: d=0;break;
case 1:
case 2: d=3;break;}[/code]
中,break是什么意思?

编程小猪 发表于 2008-7-19 16:10

1,问题似乎不完整,既然是对应,就应该至少有两个东西吧。也许我理解有问题吧。
2.break就是中断的意思,switch是交换、变更的意思。switch中加了个break就是中断switch。可以理解为跳出switch。

james315181933 发表于 2008-7-19 17:04

我的书上这么写的“按位或|使结果为两个操作数的对应二进制位的或”“两个操作数的对应二进制位的或”我不懂

编程小猪 发表于 2008-7-20 02:13

这样说我就明白啦
你说的是位运算符吧
位运算符有三个:
&  与运算 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)

zhutou 发表于 2008-7-20 15:36

BREAK就是执行完前边的语句,然后跳出循环.

死神的眼睛 发表于 2008-7-31 10:26

回复 3# 的帖子

书上写的不一定要全部理解

拯救小兵gy 发表于 2008-7-31 10:34

第一个问题不知道,第二个问题可以理解为跳出

页: [1]


Powered by Discuz! 6.1.0  © 2001-2007 Comsenz Inc.