作业帮 > 综合 > 作业

定义:unsigned int a=013,b=0x13,c;执行后c=~a|b>>3;后,c的值是

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/13 18:29:35
定义:unsigned int a=013,b=0x13,c;执行后c=~a|b>>3;后,c的值是
这个该怎么计算呢
定义:unsigned int a=013,b=0x13,c;执行后c=~a|b>>3;后,c的值是
假设是16位系统,unsigned int型数据占16位
定义了:
unsigned int a=013; //八进制13,十进制11,二进制0000000000001011
unsigned int b=0x13; //十六进制13,二进制10011
unsigned int c;
c=~a|b>>3; (运算符优先级从高到低 ~ >> |)
所以先运算 ~a,0000000000001011取反,结果是1111111111110100(65524 十进制)
再运算b>>3,0000000000010011右移3位,结果是0000000000000010(2 十进制)
最后或运算,结果是1111111111110110(65526 十进制)
当然在32位系统中的结果是4294967286(十进制)