C Primer Plus(第六版)15.9 编程练习 第5题

//

//  main.c

//  15.9-5

//

//  Created by cjm on 2024/2/5.

//

#include <stdio.h>

#include <limits.h>

char * itobs(int n, char * ps);

unsigned int  rotate(unsigned int x,int i);

int main()

{

    unsigned int x=2999999999;

    printf("%u\n",rotate(x,3));//注意这里的打印格式

    return 0;

}

unsigned int rotate(unsigned int x,int i)

{

    

    unsigned int len;

    len = sizeof(unsigned int)*CHAR_BIT;

    char str[len+1];

    

    while(i!=0)

    {

        printf("旋转前    x=%s\n",itobs(x, str));

        printf("      x<<1=%s\n",itobs(x<<1, str));

        printf("x>>(len-1)=%s\n",itobs(x>>(len-1), str));

        x=x<<1|((x>>(len-1))&1);

        printf("旋转后    x=%s\n",itobs(x, str));

        i--;

    }

    

    return x;

    

}

char * itobs(int n, char * ps)

{

    int i;

    const static int size = CHAR_BIT * sizeof(int);

    

    for (i = size - 1; i >= 0; i--, n >>= 1)

    {

        ps[i] = (01 & n) + '0';

    }

    ps[size] = '\0';

    return ps;

}

相关推荐

  1. C Primer Plus(15.9 编程练习 5

    2024-02-07 19:54:03       33 阅读
  2. C Primer Plus()12.9 编程练习 5

    2024-02-07 19:54:03       28 阅读
  3. C Primer Plus()14.18 编程练习 5

    2024-02-07 19:54:03       30 阅读
  4. C Primer Plus()16.18 编程练习 5

    2024-02-07 19:54:03       26 阅读
  5. C Primer Plus(15.9 编程练习 6

    2024-02-07 19:54:03       31 阅读
  6. C Primer Plus(15.9 编程练习 3

    2024-02-07 19:54:03       25 阅读
  7. C Primer Plus(15.9 编程练习 7

    2024-02-07 19:54:03       28 阅读
  8. C Primer Plus()11.13 编程练习 6

    2024-02-07 19:54:03       23 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-07 19:54:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-07 19:54:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-07 19:54:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-07 19:54:03       18 阅读

热门阅读

  1. [Usaco2008 Feb]Line连线游戏

    2024-02-07 19:54:03       33 阅读
  2. MySQL基础查询篇(10)-正则表达式的基础使用

    2024-02-07 19:54:03       28 阅读
  3. python3实现gitlab备份文件上传腾讯云COS

    2024-02-07 19:54:03       29 阅读
  4. 【Office】或得单元格中以/分隔的后半部分

    2024-02-07 19:54:03       25 阅读
  5. 多头注意力和多尺度注意力的区别

    2024-02-07 19:54:03       33 阅读
  6. Python 套接字详解:与网络通信的温柔邂逅

    2024-02-07 19:54:03       30 阅读
  7. WPF绘制矢量图形并绑定到界面的方法

    2024-02-07 19:54:03       30 阅读
  8. jpeg压缩基本步骤

    2024-02-07 19:54:03       33 阅读
  9. 【工厂模式】

    2024-02-07 19:54:03       25 阅读