题解 1773: [编程入门]C语言循环移位

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

C语言程序设计教程(第三版)课后习题12.2 (C语言代码)位操作即可不必用数组

解题思路:把数当成2进制即可,该数对2取模即可得到当前末位为1或为0。取模后将该数除以2相当于右移1位,空出首位。利用之前取模的结果,若为1,则将右移了1位的数与0x80000000按位或,相当于把之前末位的1写入新数的首位。取模为0不用管注意事项:参考代码:#includeintm

C语言循环移位

解题思路:循环移位本质就是将最后一位数,不断的提到第一位数上第一次是最后一位数提到第一位,原第一位向后移一位,此时最后第二位变为最后第一位。第二次是将最后第二位即现在的最后第一位,提到第一位上,原第一位继续往后移一位,以此类推我们发现循环移位n次就是将最后面的n位数,