2 qq 30034465 qq_30034465 于 2016.04.20 22:01 提问

C语言中位运算的一个诡异问题
 #include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
int main()
{
  unsigned short x,n;
  unsigned short mask;
  scanf("%hu%hu",&x,&n);
  mask = (~0>> n);
  printf("%x",mask);
  return 0;
}

图片说明

为什么程序里的 ~0>>n, 不能成功移位,求解答,谢谢!

1个回答

caozhy
caozhy   Ds   Rxr 2016.04.20 22:29
已采纳
 mask = (unsigned short)(~0) >> n;
qq_30034465
qq_30034465 感谢!
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!