首页 > 代码库 > 华为机试—32位处理器上数值转换
华为机试—32位处理器上数值转换
在 32 位处理器上,将任一整数转换为二进制形式。
要求实现函数:
void DecToBin (unsigned int iDec, char pBin[32])
输入:iDec 需要转换的十进制整数
输出:pBin 转换为二进制后的字符串,高位在左边,不足 32位补0
示例
输入:123
输出:{“00000000000000000000000001111011”}
#include<stdio.h> void DecToBin (unsigned int iDec, char pBin[32]) { int i,a[32],j=0; for(i = 0; i < 32; i++) pBin[i] = '0'; while(iDec>0) { a[j++]=iDec%2; iDec/=2; } int k=j-1; for(i=32-j;i<32;i++) pBin[i]=a[k--]+'0'; } int main() { unsigned int idec; char pBin[32]; while(~scanf("%d",&idec)){ DecToBin(idec, pBin); for(int i = 0; i < 32; i++) printf("%c", pBin[i]); printf("\n"); } return 0; }
华为机试—32位处理器上数值转换
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。