⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 例12.2.txt

📁 C语言课件,清华大学出版的书的配套的.很好用,尽管下载.
💻 TXT
字号:
  例12.2

循环移位。要求将a进行右循环移位。见图12.4。图12.4表示将a右循环移n位。即将a中原来左面(16-n)位右移n位,原来右端n位移到最左面n位。今假设用两个字节存放一个整数。为实现以上目的可以用以下步骤:
① 将a的右端n位先放到b中的高n位中。可以用下面语句实现:b=a<<(16-n);
② 将a右移n位,其左面高位n位补0。可以用下面语句实现:
c=a>>n;
③ 将c与b进行按位或运算。即
c=c|b;
程序如下:
main( )
     {unsigned a,b,c;
         int n;
         scanf("a=%o,n=%d",&a,&n);
         b=a<<(16-n);
         c=a>>n;
         c=c|b;
         printf("%o\n%o",a,c);
      }
    运行情况如下:
a=157653,n=3

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -