回 帖 发 新 帖 刷新版面

主题:哈哈!!!

#include <iostream.h>
main()     
{
    //按位与运算
    cout<<"24&12="<<(24&12)<<endl;
    //按位异或运算
    cout<<"24^12="<<(24^12)<<endl;
    //按位或运算
    cout<<"24|12="<<(24|12)<<endl;
    //按位取反运算
    cout<<"~24="<<(~24)<<endl;

    //左移位运算
    cout<<"5<<3="<<(5<<3)<<endl;
    cout<<"-5<<3="<<(-5<<3)<<endl;

    //右移位运算
    cout<<"5>>3="<<(5>>3)<<endl;
    cout<<"-5>>3="<<(-5>>3)<<endl;
}
这几个运算符有什么用啊,输出的值怎么算的啊?

回复列表 (共3个回复)

沙发

&就是遇0变0
|就是遇1变1
^就是单位加法
~就是1变0,0变1
<<是...
>>是:若是有符号整数,则最高位不变;无符号则最高位补0

看题目我有种被玩儿的感觉-_-|||

板凳

楼上好牛啊!

3 楼

-_-!楼上还是正确的。
24=11000
12=01100
| =11100
& =01000
^ =10100
~ =1变0,0变1
移位要看位数和有无符号的情况。

我来回复

您尚未登录,请登录后再回复。点此登录或注册