【C语言】【笔试题】编写函数: unsigned int reverse_bit(unsigned int value); 翻转二进制序列

转载 2016年05月30日 15:02:01
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

unsigned int reverse_bit(unsigned int value)
{
	int i = 0;
	unsigned int sum = 0;
	for (i=0; i < 32; i++)
	{	
		sum = sum + (value % 2) * pow(2, 31 - i);
		value /= 2;		
	}
	return sum;
}
int main()
{
	unsigned int ret = reverse_bit(2147483648);
	printf("%u\n", ret);
	system("pause");
	return 0;
}


【C语言】2.编写函数 unsigned int reverse_bit(unsigned int value); 这个函数的返回 值value的二进制位模式从左到右翻转后的值。 如在32位机器上2

*2.编写函数 unsigned int reverse_bit(unsigned int value); 这个函数的返回 值value的二进制位模式从左到右翻转后的值。 如在32位机器上25这个值...
  • ybixiao
  • ybixiao
  • 2015年04月14日 20:03
  • 620

unsigned int reverse_bit(unsigned int value)

函数的返回值value的二进制位模式从左到右的翻转值 #include #include unsigned int get_value(unsigned int N) { unsigned in...

Fast bit count问题(即计算一个unsigned int的二进制表达中1的数目)

最近在看《Programming Pearls》。里面的好些问题很有意思。做一点小小的总结吧。 这个问题是计算一个unsigned int型二进制数中一个的个数,google中看到了不少很巧妙的...

判断C语言中int 与 unsigned 乘法是否会溢出

在C语言中,int 与 unsigned 乘法被定义为产生w(w为机器字长)位的值。如果乘积超过w位,所产生乘积的高位将被舍弃。 下面这段代码用来判断整数乘法会不会溢出: /*练习题2.36*...
  • ljg888
  • ljg888
  • 2012年10月02日 10:09
  • 3924

C语言 算术转换 unsigned signed int

在C语言中,如果运算符的两个操作符不相同,那么它们之间对进行一定的算术转化,然后再进行运算操作。说明这个规则之前,先看一个例子 int x = -1; int y = 5; unsigne...

C语言char强制类型转换unsigned int时的问题

今天做socket通信项目的时候要从数据包的包头计算图片长和宽,结果图片大小不对显示了一张大长脸,做个记录给自己提个醒。 图片高度,高度都用四个字节表示,数据包从第五位开始每四位依次是宽,高,想也没...

在C语言中,double、long、unsigned、int、char类型数据所占字节数

和机器字长及编译器有关系: 所以,int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的): 1 sizeof(short int) si...

sizeof(size_t)的疑惑||size_t sizeof long unsigned int printf max value

今天自己用了一个sizeof(指针),用了printf("%d“,sizeof(指针))。出现了错误:warning: format ‘%d’ expects type ‘int’, but argu...

[C语言]unsigned int与 int

有时间记录一点东西。 上周在食堂吃饭时,遇到师弟,提到一个与unsigned相关的问题,大致意思是表达式运算中有unsigned类型,导致结果跟预期结果不一致(预期结果为负数,结果实际为一个大整数)...

一个unsigned int 数的二进制表示中有多少个1

这是一道面试题可以用以下的一些方案。 第一种是很容易想到的采用循环的方式并且与1进行位与运算,具体代码如下。  1int 数的二进制表示中有多少个1?" title="求一个unsigned ...
  • wyhang0
  • wyhang0
  • 2014年08月03日 11:47
  • 434
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【C语言】【笔试题】编写函数: unsigned int reverse_bit(unsigned int value); 翻转二进制序列
举报原因:
原因补充:

(最多只允许输入30个字)