编程语言中:请教几个符号的意义

发布网友 发布时间:2022-04-23 07:14

我来回答

3个回答

热心网友 时间:2022-06-17 08:49

既然~符号你已经弄懂了得话,那我就只说说其余三个符号了。
1、“|” 在变成中是按位或运算符,即两个操作数各个对应位进行或运算,或运算规则是两个里面至少有一个为1(真)那么结果就是1(真),否则为0(假),比如二进制(1001) | (0100)之后就会得到结果(1101),这个应该能理解的,另外“||”在编程时表示几个运算式为或,同样如果有一个为真时总结果就是真。
2、&,这个符号在运算中表示逻辑与,即两个操作数的各个位进行与运算,当两个位同时为1时结果为1,否则为0,你的问题10&50=2是因为:先把10,50分别化为二进制(假定都是一个字节八位)为(0000 1010)&(0011 0010),每个位进行与运算得(0000 0010),所以答案为2;
另外&还有一个比较重要的应用就是在用指针定义某个变量后,比如char & A,那么我们在程序中要用到A时就必须取A的地址,地址中才是我们要的数据&A,这个在学指针的时候经常用到。
3、^,表示异或操作,也是两个操作数的运算,异或的规则为两个位相同时结果为0,不同时为1,0异或0=0,1异或0=1,0异或1=1,1异或1=0,比如(0000)^(0011)=(0011)
寥寥几句,希望对你有所帮助。

热心网友 时间:2022-06-17 08:49

10 换成二进制 00001010
50 换成二进制 00110010
&是按位与运算,1&1=1,1&0=0,0&1=0,0&0=0
因此10 & 50 就是逐位进行与运算得到:00000010,就是2

|是按位或运算,1|1=1,1|0=1,0|1=1,0|0=0
因此10 | 50 就是逐位进行与运算得到:00111010,就是58

^是按位异或运算,1^1=0,1^0=1,0^1=1,0^0=0
因此10 ^ 50 就是逐位进行与运算得到:00111000,就是56

~是按位取反运算,~1=0,~0=1
10在32位里面表示为00000000 00000000 00000000 00001010
取反后为 11111111 11111111 11111111 11110101

热心网友 时间:2022-06-17 08:50

C++中 | 或(位操作符)
& 地址(单目操作符) & 与(位操作符)
~ 按位反(单目操作符)
^ 异或(位操作符)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com