为什么没有直接将10进制数以2进制输出的转换呢

来源:百度知道 编辑:UC知道 时间:2024/05/25 02:48:54
C语言能直接把 10进制转换为8进制输出、、但是能不能“直接”转换为 2进制输出呢

有个
itoa
函数,不知道是不是你想要的。

itoa 功 能:把一整数转换为字符串
用 法:char *itoa(int value, char *string, int radix);
详细解释:itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.
参数:
value: 待转化的整数。
radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。
* string: 保存转换后得到的字符串。
返回值:
char * : 指向生成的字符串, 同*string。
备注:该函数的头文件是"stdlib.h"

c++有

你是反其道而行之,人家电脑设计者是为了防止你看二进制数看的头大,才用八进制,十六进制代替,其实看八进制和十六进制就相当于看二进制了。
每一位八进制数字对应三位二进制数,每一位十六进制数对应四位二进制数,你可以做一个翻译表,用程序写出来,用来翻译数字。
不过没必要。

将10进制转化为2,16进制

#include <stdio.h>
#include <stdlib.h>

void main()
{
int nNum,Rad,i=0,Residue;
int Store[50];
printf("请输入一个任意整数:");
scanf("%d",&nNum);
printf("\n请输入一个合法的表示进制的基数[2,16]:");
scanf("%d",&Rad);
if(Rad<=1)
exit(-1);
printf("\n转换后的结果是:");