C语言 将99(十进制)转为0x99(十六进制)并输出?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 将99(十进制)转为0x99(十六进制)并输出?相关的知识,希望对你有一定的参考价值。
类似题目,将12转为0x12;将34转为0x34 。并输出。
在C语言中,可以使用printf函数将十进制数转换为十六进制输出。例如,可以使用下面的代码将99(十进制)转换为0x99(十六进制)并输出:
Copy code
#include <stdio.h>
int main()
int num = 99;
printf("0x%x", num);
return 0;
在这段代码中,我们定义了一个整型变量num,并将其初始化为99。然后,我们使用printf函数输出该变量的值。printf函数的输出格式中,%x表示将整型变量以十六进制格式输出,0x则是表示输出的数字为十六进制数的前缀。
运行这段代码后,将会输出0x99。
希望这些信息对您有所帮助。 参考技术A 在C语言中,可以使用printf函数来将十进制数转换为十六进制并输出。
要将十进制数转换为十六进制,需要在printf函数的格式字符串中使用%x格式说明符。例如,要将十进制数99转换为十六进制并输出,可以使用以下代码:
#include <stdio.h>
int main(void)
int num = 99;
printf("0x%x\n", num);
return 0;
运行这段代码后,会在屏幕上输出0x63,表示十进制数99在十六进制下的表示。
需要注意的是,在C语言中,十六进制数前需要加上前缀0x。因此,如果只想输出十六进制的99,可以使用以下代码:
#include <stdio.h>
int main(void)
printf("0x99\n");
return 0;
希望这些信息能帮助你解决问题。
C语言字符串转为16进制字符串
char* str = "我们";
现在想把“我们”对应的十六进制赋值给一个字符串,比如“我们”转换完后是"CE D2 C3 C7"
我想要的结果就是res = "CE D2 C3 C7";
怎么转换,谢谢了
这样我可以,但是怎么才能把结果保存到一个字符串中呢
/*
我们正在组建局域网
CE D2 C3 C7 D5 FD D4 DA D7 E9 BD A8 BE D6 D3 F2 CD F8
Press any key to continue
*/
#include <stdio.h>#include <string.h>
char *Change(char *t,char *s)
char i,chs;
for(i = 0; s[i]; ++i)
chs = s[i] & 0X0F;
t[3 * i + 2] = ' ';
if(chs > 9) t[3 * i + 1] = chs - 10 + 'A';
else t[3 * i + 1] = chs + '0';
chs = (s[i] & 0XF0) >> 4;
if(chs > 9) t[3 * i] = chs - 10 + 'A';
else t[3 * i] = chs + '0';
t[3 * i] = '\\0';
return t;
int main()
char *s = "我们正在组建局域网",t[60]; //
printf("%s\\n",s);
printf("%s\\n",Change(t,s));
return 0;
参考技术A char* str = "我们";
char t[20];
sprintf(t, "%X %X %X %X\\n", str[0]&0xff,str[1]&0xff,str[2]&0xff,str[3]&0xff);追答#include <stdio.h>
int main()
int i;
char* str = "我们的爱";
char res[100];
for (i = 0; i < strlen(str); i++)
sprintf(res + 3*i, "%02X ", (unsigned char)str[i]);
res[3*i - 1] = '\\0';
// res 就是你要的结果:
printf("[%s]\\n", res);
return 0;
本回答被提问者采纳 参考技术B http://wenku.baidu.com/view/31b1c242336c1eb91a375dc7.html
希望可以帮助到你 参考技术C char*t;
for(j=0;j<=i;j++)
t[j]=chj[i];
printf("%0X",t); 参考技术D #include<stdio.h>
void main()
char* str = "我们";
printf("%X %X %X %X\n",str[0]&0xff,str[1]&0xff,str[2]&0xff,str[3]&0xff);
追问
我知道printf可以,但是我不是要输出,我要保存到一个变量中
追答char* str = "我们";
char res[256];
sprintf(res,"%X %X %X %X\n",str[0]&0xff,str[1]&0xff,str[2]&0xff,str[3]&0xff);
以上是关于C语言 将99(十进制)转为0x99(十六进制)并输出?的主要内容,如果未能解决你的问题,请参考以下文章