返回信息流例如我在程序员设计宝典上的类型转换上看到一个题:
#include <iostream>
using namespace std;
int main()
{
unsigned char a = 0xa5;
unsigned char b = ~a>>4;
//cout << b;
printf("b=%d"\n,a);
return 0;
}
答案上的解释~的优先级比>>低,肯定不对,但是我不知道 b = ~a>>4到底是怎么
计算的,请大家帮忙解释下吧。
这是一条镜像帖。来源:北邮人论坛 / cpp / #42866同步于 2010/8/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
请问位运算都必须转换成int才可以进行运算吗?
pigg
2010/8/30镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
那b=~a>>4的运算:
~a 1111 1111 1111 1111 1111 1111 0101 1010
那么此时对a求反后,a是不是变成了0x5a呢,
求反了是0xa5吧
~ << >>对操作数有整数类型提升
【 在 pigg 的大作中提到: 】
: 那b=~a>>4的运算:
: ~a 1111 1111 1111 1111 1111 1111 0101 1010
: 那么此时对a求反后,a是不是变成了0x5a呢,