C语言位运算的面试题1

作者: 三木成森 | 来源:发表于2015-08-22 19:08 被阅读276次

输入一个字节内的数(0~255)和移动位数。输出移位结果(要求循环移位)。

  提示:系统自带的移位都是非循环的

intnum =0;

intmoveStep =0;

printf("请输入0-255的数和移动位数:");

scanf("%d %d", &num, &moveStep);

moveStep = moveStep %8;

//截掉前27位

unsignedcharcharNum = num;

//低位往高位挪

unsignedcharleftMoveNum = charNum << moveStep;

//高位往低位挪

unsignedcharrightMoveNum = charNum >> (8- moveStep);

//合到一起

unsignedcharresult = leftMoveNum | rightMoveNum;

printf("result = %d",result);

方法二:

  int n;

  unsigned char a = 0;

  printf("请输入一个字节数和移动位数:");

  scanf("%d%d", &a, &n);//输入移动的位数

   while (n--) {  //每次循环移动一位

      if ((a & 128) == 128) {

          a =   (a << 1) + 1;

        }else{

          a =   a << 1;

     }

   }

   printf("a = %d", a);

相关文章

  • C语言位运算的面试题1

    输入一个字节内的数(0~255)和移动位数。输出移位结果(要求循环移位)。 提示:系统自带的移位都是非循环的 i...

  • 巧妙运用C语言位运算

    巧妙运用C语言位运算,C语言是面向过程的,而C++是面向对象的 位运算 位运算的运算分量只能是整型或字符型数据,位...

  • 16_位运算符分析

    关键词: C语言中的位运算符、 左移和右移注意点、位运算防错准则、 位运算符和逻辑运算符的区别 1. C语言中的位...

  • C语言位运算

    C语言位运算_C语言中文网 C语言位域(位段)_C语言中文网

  • C语言:按位运算

    C语言:按位运算 C有这些按位运算的运算符& 按位的与| 按位的或~ 按位取反^ 按位的异或<< ...

  • 编程面试题:有趣的12个C语言面试题,看看你能做几个?

    转载自头条号丨C语言编程开发 12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个! 1...

  • C语言 位运算

    ###位运算的逻辑: 1:(位与)运算符(&):双目操作符,当两个位进行相与时,只有两者都为“1”时结果才为“1”...

  • C语言位运算

    C语言里位运算就是对一个比特(Bit)进行操作,比特(Bit)是计算机的一个电子元件,只有通电和断电两种状态(这也...

  • c语言位运算

  • 【初识C语言】C语言中的运算符

    C语言中的运算符 1运算符和表达式 C语言运算符是说明特定操作的符号,它是构造C语言表达式的工具。C语言的运算异常...

网友评论

    本文标题:C语言位运算的面试题1

    本文链接:https://www.haomeiwen.com/subject/lkpoqttx.html