概述
指针实现:给你一个 32 位的有符号整数 x ,
返回将 x 中的数字部分反转后对应二进制数的结果。
/*
指针实现:给你一个 32 位的有符号整数 x ,
返回将 x 中的数字部分反转后对应二进制数的结果。
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int Reverse(int num) //逆序
{
int tmp = 0;
while (num != 0)
{
tmp = tmp * 10 + num % 10;
num /= 10;
}
return tmp;
}
void transform(int num,int *arr) //十进制转32位的二进制
{
int temp;int i=32-1;
do
{
temp=num%2;
num=num/2;
arr[i--]=temp;
}
while (num!=0);
}
int main(){
int a;
int result[32]={0}; //都初始化为0
printf("请输入一个整数:");
scanf("%d",&a);
printf("原始数字:%dn",a);
if(a<0){
result[0]=1; //若为十进制为负数,则32位二进制数首位是1
a=abs(a);
}
else result[0]=0;
a=Reverse(a); //逆序
printf("逆序数字:%dn",a);
transform(a,result);
printf("二进制逆序数字:n");
for(int i=0;i<32;i++){
if(i!=0&&i%4==0){
printf(" "); //空四格输出
}
printf("%d",result[i]);
}
}
最后
以上就是冷艳水壶为你收集整理的C语言实现:十进制逆序后 转32位二进制的全部内容,希望文章能够帮你解决C语言实现:十进制逆序后 转32位二进制所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复