编写函数unsigned int reverse_bit(unsigned int value),实现无符号二进制整数在32位机器上的bit位翻转

如:
在32位机器上25这个值包含下列各位:
00000000000000000000000000011001
翻转后:(2550136832)
10011000000000000000000000000000
程序结果返回:
2550136832
方法一
编程思路:
1、键入要翻转的整数;
2、调用函数unsigned int reverse_bit(unsigned int value),实现翻转;
2.1、采用循环,遍历value的每一个bit位;
2.2、把第i个bit位设为1;
2.3、value每次右移一位。
3、打印结果。

具体代码如下:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>unsigned int reverse_bit(unsigned int value) {int n = 0;int i = 0;for (i = 31; i > 0; i--) {if (value & 1) {n = n | (1 << i);}value = (value >> 1);}return n;
}int main() {int value;printf("请输入要翻转的整数:");scanf("%d", &value);if (value != 0) {printf("%u", reverse_bit(value));}system("pause");return 0;
}

方法二
编程思路:
1、首先键入要翻转的整数;
2、其次是调用unsigned int round(unsigned int a)函数,采用之前谈到的回文数的方法,将这个数字按二进制翻转即可。https://mp.csdn.net/postedit/88911882
3、打印翻转后的数字,采用%u打印,无符号整数。

具体代码如下:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>unsigned int round(unsigned int a) {unsigned int tmp, sum = 0;for (int i = 0; i < 32; i++, a /= 2) {tmp = a % 2;sum = sum * 2 + tmp;}return sum;
}int main() {int a;printf("请输入要翻转的整数:\n");scanf("%d", &a);printf("翻转后的整数为:%u\n", round(a));system("pause");return 0;
}

编写函数unsigned int reverse_bit(unsigned int value),实现无符号二进制整数在32位机器上的bit位翻转相关推荐

  1. c语言中int什么意思以及什么是无符号和有符号整型

    int 是整数类型,用于定义变量的类型,有符号,unsigned int 是无符号的整数类型,直白点说有符号无符号整型就是能不能存放负数. 根据程序编译器的不同,整形定义的字节数不同.51类单片机的C ...

  2. 功能:编写函数long fun ( char *p),将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。

    #include<stdio.h> #define N 2long fun(char *p) {long n=0;int flag=0; //标识符号位的标记变量while

  3. c语言unsigned int 范围,unsigned int 32比特数据范围为-2147

    提到unsigned,大家应该都了解,有朋友问c语言中unsigned什么意思,还有人想问c语言中的unsigned是什么意思,这到底是咋回事?事实上unsigned呢,下面是小编推荐给大家的unsi ...

  4. stm32 无符号整形_STM32中“unsigned short”和“unsigned int”的区别是什么?

    展开全部 unsigned long int在C语言中是无符号长整形变量,是整形变量的一e69da5e887aa62616964757a686964616f31333365646331种. unsig ...

  5. linux longlong大小,Linux基本数据类型大小——int,char,long int,long long int

    转自: http://blog.163.com/zheng_he_xiang/blog/static/186505326201110272018548/ 在Linux操作系统下使用GCC进行编程,目前 ...

  6. 问题 D: 编写函数:比较字符串 之二 (Append Code)

    题目描述 字符.整数和浮点数都可以按照数值来比较大小,字符串应该怎么比较呢?让我们来编写一个程序,可以比较两个字符串的大小. 编写函数str_cmp(): 原型:int str_cmp(char s1 ...

  7. 问题 C: 编写函数:比较字符串 之一 (Append Code)

    题目描述 字符.整数和浮点数都可以按照数值来比较大小,字符串应该怎么比较呢?让我们来编写一个程序,可以比较两个字符串的大小. 编写函数str_cmp(): 原型:int str_cmp(char s1 ...

  8. C语言学习6:数据类型 -> 基本类型 -> 整型类型(int、short int、long int、char等)

    目录 1.数据类型的分类 2.基本整型 int 3.短整型 short int 4.长整型 long int 5.双长整型 long long int 6.字符型 char 7.布尔型 bool 1. ...

  9. MySQL中 int(11)和int(10)有没有区别

    引言 依稀还记得有次面试,有面试官问我int(10)与int(11)有什么区别,当时觉得就是长度的区别吧!面试官最后也没有给反馈,我也就以为自己答对了.直到有一次有个同学又跟我谈起这个事,才去查了以下 ...

最新文章

  1. 算法------最接近的三数之和
  2. 面试必问一:Java 中 == 和 equals 的区别你知道吗
  3. 看到一个沙粒世界:再一次你好世界
  4. 如何成为java高手
  5. systemctl命令
  6. html toast 插件,基于Bootstrap4的Toast提示插件
  7. JS操作JSON数据交换
  8. 合并多行查询数据到一行:使用自连接、FOR XML PATH('')、STUFF或REPLACE函数
  9. AutoCAD打印设置
  10. android图片剪切第三方,Android第三方开源图片裁剪截取:cropper
  11. ThinkPadnbsp;E40nbsp;硬盘异响…
  12. 利用极小极大搜索和alpha-beta剪枝算法预测五子棋对弈落子
  13. oj2513: 小勇学分数
  14. 什么是操作系统?操作系统介绍
  15. win10系统登录和服务器,win10系统如何登录服务器地址
  16. MetCoin 元宇宙是什么?可以免费挖吗?
  17. cadence 16.60破解方式及文件下载地址
  18. 计算机wps怎么排名,wps表格不更改顺序排名次的方法
  19. 正整数 n 分解成若干个互不相同的自然数的和,且使这些自然数的乘积最大
  20. 出现Cannot refer to the non-final local variable guoDeGang defined in an enclosing scope

热门文章

  1. Kalman滤波理解
  2. 推荐算法!基于隐语义模型的协同过滤推荐之用户商品推荐列表
  3. unigui怎么隐藏滚动条
  4. 补单网站与程序的搭建细节
  5. [答疑]会议申请序列图
  6. Kali破解wifi最基础版
  7. c语言解决循环左移和循环右移
  8. RecyclerView源码剖析
  9. 一篇文章搞懂屈梁生院士说了什么(二维全息谱的理解)
  10. 戮力同心,精诚协作 Stibo Systems(思迪博)和点春科技正式签署战略合作伙伴协议