如何用C++将数字“1”转换成字符“1”

如何用C++将数字“1”转换成字符“1”,第1张

在<stdlibh>中的函数是itoa。功能:把一整数转换为字符串。
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;
}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13211741.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-21
下一篇 2023-06-21

发表评论

登录后才能评论

评论列表(0条)

保存