char itoa(int value, char string, int radix);
int value 被转换的整数,char string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等
头文件: <stdlibh>
itoa *** 作使用程序例:
#include <stdlibh>
#include <stdioh>
int main()
{
int number = 123456;
char string[25];
itoa(number, string, 10);
printf("integer = %d string = %s\n", number, string);
return 0;
}大整数的计算可以通过模运算来进行简化,也可以将其作为字符串读入,然后分段运算之后再进行拼接。
附:
atoi和itoa的示范代码如下:
#include <stdlibh>
#include <stdioh>
void main( void )
{
char s; int ix;
char buffer[20];
int i = 3445;
long l = -344115L;
unsigned long ul = 1234567890UL;
s = " -9885 pigs"; / Test of atoi /
ix = atoi( s );
printf( "atoi test: ASCII string: %s\t\tinteger: %d\n", s, ix );
_itoa( i, buffer, 10 );
printf( "String of integer %d (radix 10): %s\n", i, buffer );
_itoa( i, buffer, 16 );
printf( "String of integer %d (radix 16): 0x%s\n", i, buffer );
_itoa( i, buffer, 2 );
printf( "String of integer %d (radix 2): %s\n", i, buffer );
_ltoa( l, buffer, 16 );
printf( "String of long int %ld (radix 16): 0x%s\n", l,
buffer );
_ultoa( ul, buffer, 16 );
printf( "String of unsigned long %lu (radix 16): 0x%s\n", ul,
buffer );
}
输出结果:
atoi test: ASCII string: -9885 pigs integer: -9885
String of integer 3445 (radix 10): 3445
String of integer 3445 (radix 16): 0xd75
String of integer 3445 (radix 2): 110101110101
String of long int -344115 (radix 16): 0xfffabfcd
String of unsigned long 1234567890 (radix 16): 0x499602d2
1、打开visualC++60-文件-新建-文件-C++SourceFile。
2、输入预处理命令和主函数:
#include<stdioh> /输入输出头文件/
voidmain()/空类型:主函数/
3、定义变量和数组的数据类型并输入一个十进制:
intb[16],x,k,r,i;/定义变量和数组的数据类型为整型/
printf("输入一个十进制:");/输出文字提示/
scanf("%d",&x); /输入一个十进制数字/
k=-1;/将-1赋给k/
4、用除R取余倒计法将十进制的数转化成二进制的数:
do/用循环将十进制的数转化成二进制的数/
{
r=x%2;/用除R取余倒计法计算二进制/
b[++k]=r;/将值赋给数组/
x/=2;/将原数除2/
}while(x>=1);
5、输出结果:
for(i=k;i>=0;i--) /将上面倒计的数正回来/
printf("%d",b[i]);/输出结果/
printf("\n");
6、完整的源代码:
#include<stdioh> /输入输出头文件/
voidmain()/空类型:主函数/
{
intb[16],x,k,r,i;/定义变量和数组的数据类型为整型/
printf("输入一个十进制:");/输出文字提示/
scanf("%d",&x); /输入一个十进制数字/
k=-1;/将-1赋给k/
do/用循环将十进制的数转化成二进制的数/
{
r=x%2;/用除R取余倒计法计算二进制/
b[++k]=r;/将值赋给数组/
x/=2;/将原数除2/
}while(x>=1);
for(i=k;i>=0;i--) /将上面倒计的数正回来/
printf("%d",b[i]);/输出结果/
printf("\n");
}
程序如下:#include <stdioh>int main(void)
{
int i,j,p;
char code[32];
scanf("%d",&i);
j=i;
p=0;
while(j>0)
{
code[p++]=j%2 + 48 ;
j=j/2;
}
j=p;
printf("the num is : %d, \n the code is:",i);
while(j)
{
printf("%c",code[--j]);
}
getch();
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)