大众计算机学习网

专门提供各种电脑教程

C语言>><<~运算实例

Admin | 2008-1-27 13:08:00 | 被阅次数 | 6633

  需求:取一个整数a从右端开始的4~7位。

  程序分析:可以这样考虑:

  (1)先使a右移4位。

  (2)设置一个低4位全为1,其余全为0的数。可用~(~0<<4)

  (3)将上面二者进行&运算。

  程序源代码:

  main()

  {

  unsigned a,b,c,d;

  scanf("%o",&a);

  b=a>>4;

  c=~(~0<<4);

  d=b&c;

  printf("%o\n%o\n",a,d);

  }