待修改。
sprintf()
int类型转换成十六进制带0x的字符串怎么办
https://zhidao.baidu.com/question/1994593073479057547.html
可以手动转.
也可以用sprintf 自动转.
比如
1 |
|
或者全自动的
1 |
|
itoa()
C++ printf打印二进制,三进制,八进制,十六进制等(利用itoa)
https://blog.csdn.net/CSUstudent007/article/details/80334257
printf是格式化输出函数,它可以直接打印十进制,八进制,十六进制,输出控制符分别为%d, %o, %x, 但是它不存在二进制,如果输出二进制可以调用stdlib.h里面的itoa函数。
itoa函数原型为char*iota(int value,char *string,int radix);value为被转化的整数,string为转换后储存的字符数组,radix为要转换的进制数
#include<cstdio>
#include<cstring>
#include<cstdlib>//注意。itoa函数要包含这个头文件
using namespace std;
int main()
{
int a=12;
printf("八进制 %o\n",a);
printf("十六进制 %x\n",a);
printf("十进制 %d\n",a);
char s[40];//要转换成的字符数组
itoa(a,s,2);//itoa转为二进制
printf("二进制 %s\n",s);//s就是你转换成的数组
itoa(a,s,3);//转为三进制
printf("三进制 %s\n",s);
return 0;
}