关于c语言中的按位或运算

2024年11月17日 22:39
有3个网友回答
网友(1):

#include "stdio.h"
void main()
{
unsigned int sum=0x0f,k=0x100;
printf("%d&%d=%d,%d\n",sum,k,sum&k,sizeof(sum));
}
输出结果:
15&256=0,4

#include "stdio.h"
void main()
{
unsigned char sum=0x0f,k=0x100;
printf("%d&%d=%d,%d\困斗n",sum,k,sum&k,sizeof(sum));
}
输出结果:
15&0=0,1
Press any key to continue

我用VC++编译的,,结汪陪磨果差别在与k值为256超出了char的范乱芦围了

补充:结果为0

网友(2):

0xf0 表示十六进制数f0 按位运算必须把穗磨袜数字转换成二进制猜激数 char型变量在游磨存储区中对应其ASCII码

网友(3):

char型的当然要和char型做位运算啊,你态蚂和0x100这样的至少2字节类型的数据做运算纳首,结果当然不是char型了洞闭数.