二进制位模式从左到右翻转后的值

#include <stdio.h>
#include <math.h>
unsigned int  reverse_bit(unsigned int value)
{
 int i = 0, sum = 0;
 int ret;
 for (i = 0; i < 32; i++)
 {
  ret = value & 1;
     sum = sum + (ret*pow(2, (31 - i)));
  value = value >> 1;
 }
 return sum;
}
int main()
{
 int num = 0;
 printf("请输入一个数:\n");
 scanf("%d", &num);
    int ret=reverse_bit(num);
 printf("%u", ret);
 return 0;
}
时间: 2024-10-06 00:38:54

二进制位模式从左到右翻转后的值的相关文章

C语言编程 输出一个数二进制位模式从左到右翻转后的值

eg:在32位机器上25这个值包含下列各位:00000000000000000000000000011001翻转后:(2550136832)10011000000000000000000000000000程序结果返回:2550136832 代码核心思想是将原来二进制序列最后一位看作反转后第一位,将原来二进制序列第一位看作反转后最后一位进行重新计算 比如15的2进制为 --0000 1111计算方法为12^1 + 12^2 + 12^3 + 12^4反转后为1111 0000--计算方法为12^3

这个函数的返回 值value的二进制位模式从左到右翻转后的值。

这一种是我自己想出来的方法,发现对二进制还是不太熟悉. #include<stdio.h> #include<stdlib.h> unsigned int  reverse_bit(unsigned int value) {  unsigned sum=0;  int i=0;  for(i=0;i<32;i++)  {   sum+=((value>>i)&1)<<(31-i);  }  return sum; } int main() {

编写函数返回值value的二进制模式从左到右翻转后的值

编写函数: unsigned int  reverse_bit(unsigned int value); 这个函数的返回值value的二进制位模式从左到右翻转后的值. 例如: 在32位机器上25这个值包含下列各位: 00000000000000000000000000011001 翻转后:(2550136832) 10011000000000000000000000000000 程序结果返回: 2550136832 观察输出的结果是将输入的数的二进制逆序排列的值. 代码如下: #include<

二进制位模式从左到右翻转(25~2550136832)

1.编写函数:unsigned int reverse_bit(unsigned int value);这个函数的返回值是value的二进制位模式从左到右翻转后的值.如:在32位机器上25这个值包含下列各位:00000000000000000000000000011001翻转后:(2550136832)10011000000000000000000000000000程序结果返回:2550136832 #include<stdio.h> #include<math.h> unsign

写一个函数实现整数的二进制位模式从左到右翻转

如: 在32位机器上25这个值包含下列各位: 00000000000000000000000000011001 翻转后:(2550136832) 10011000000000000000000000000000 程序结果返回: 2550136832 思路:第1位逆转到了第32位->后整数的值为2^31(2的31次方)     第i位逆转到了第32-i位->后整数的值为2^(32-i)(2的(32-i)次方)*(n>>(i-1))&1 累加每一位逆转之后的值-->二进制

翻转一个数的二进制后的值

编写函数: unsigned int  reverse_bit(unsigned int value); 这个函数的返回 值value的二进制位模式从左到右翻转后的值. 如: 在32位机器上25这个值包含下列各位: 00000000000000000000000000011001 翻转后:(2550136832) 10011000000000000000000000000000 程序结果返回: 2550136832 unsigned int  reverse_bit1(unsigned int 

【思想篇之爱左看右】

爱左看右 当年在挖掘特洛伊古城的时候一位英国考古学家发现了一面古铜镜,铜镜背后雕刻了一段古怪难懂的铭文,他穷尽毕生精力,请教了不少古希腊文专家,都无法破译其中的奥妙.    考古学家逝世后,这面镜子就静静地躺在大英博物馆里,直到20年后,有一天,博物馆里来了一个英俊的年轻人,在博物馆馆长的陪同下,他径直走到古镜的面前,在工作人员的协助的下打开玻璃柜,小心翼翼地取出铜镜,翻过来放在一块红色天鹅绒上.古镜背后的铭文在红色的背景上反射着冷冷的金色光泽. 年轻人从背囊里拿了一面普通的镜子出来,照着古铜镜

sql 内连接 外连接 左连接 右连接

1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.     内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和courses表中学生标识号相同的所有行.       2.外联接.外联接可以是左向外联接.右向外联接或完整外部联接.     在 FROM子句中指定外联接时,可以由下列几组关键字中的一组指定:     1)LEFT  JOIN或LEFT OUTER JOIN     左向外联接的结果集包括  LEF

五中常用简洁后台导航菜单(一级导航,二级导航,手风琴式导航,左或右悬浮式导航,树状导航)

首先附上源码,可以下载! http://yunpan.cn/cd9ivPcL4ayQT (提取码:d8a5) 在建立导航菜单的时候,我们首先布局一个(" 头"+[左,右(自适应)]+”尾“)的HTML页面: 来看一下HTML页面的编写: <div id="container"> <div id="head"></div> <div id="mainContent"> <di