A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. //题目:取一个整数a从右端开始的4~7位。
  2. #include <stdio.h>
  3. int main(int argc, const char * argv[]) {
  4.    
  5.     unsigned a,b,c,d;
  6.     scanf("%o",&a);         //输入八进制,如o111,则a = 73
  7.     b=a>>4;                 //右移4为,73为 0b1001001,右移后为 0b00..00100
  8.     c=~(~0<<4);             //~0为 0b11...1111 ,左移4位为 0b11..1110000 ,再取反得 0b00..001111
  9.     d=b&c;                  //0b00..00100 & 0b00..001111 = 0b00..000100
  10.     printf("%o\n%o\n",a,d);
  11.    
  12.     return 0;
  13. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马