C语言 十六进制怎么输出?

#include<stdio.h>voidejz(int);voidbjz(int);voidsljz(int);voidmain(){inti;scanf("%d",&... #include<stdio.h>void ejz(int );void bjz(int );void sljz(int );void main(){ int i; scanf("%d",&i); printf("二进制为:"); ejz(i); printf("八进制为:"); bjz(i); printf("十六进制为:"); sljz(i);}void ejz(int a){ int c,b; b=a/2; if(b!=0) ejz(b); c=a%2; printf("%d",c);}void bjz(int a){ int c,b; b=a/8; if(b!=0) bjz(b); c=a%8; printf("%d",c);}void sljz(int a){ int c,b; b=a/16;if(b!=0) ejz(b); c=a%16; printf("%d",c);} 展开
 我来答
幻翼高达Zero
2019-07-22 · TA获得超过1.7万个赞
知道答主
回答量:499
采纳率:0%
帮助的人:8.1万
展开全部

需要准备的材料分别有:电脑、C语言编译器

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

2、在test.cpp文件中,输入C语言代码:int a = 127;printf("%x", a); 。

3、编译器运行test.cpp文件,此时成功将数字用十六进制进行了输出。

问明6E
高粉答主

2019-05-25 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.9万
展开全部

#include&lt;stdio.h&gt;

#include&lt;stdlib.h&gt;

int length(char a[]);//因为函数位于main()函数之后,所以当引用这个函数时应该首先进行声明便于之后的引用

int main(void)

{

char a[]={'a','b','c','d','f'};

int i;

int j=47;

printf("%x\n",j);//输出结果为:2f

printf("%X\n",j);//输出结果为:2F

printf("%#x\n",j);//输出结果为:0x2f

printf("%#X\n",j);//输出结果为:0X2F%#X推荐使用

for(i=0;i&lt;length(a);i++)

{

printf("%d\n",a&lt;i&gt;);

}

return 0;

}

int length(char a[])

{

int value;

value=sizeof(a)/sizeof(a[0]);

return value;

}

扩展资料:

printf函数使用注意事项

1、域宽

%d:按整型数据的实际长度输出。

如果想输出指定宽度可以指定域宽,%md--&gt;m域宽,打印出来以后,在控制台上,显示m位;

如果我们要打印的数的位数如果超过我们设定m则原样输出;

如果我们要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:

如果m为正数,则左对齐(左侧补空白);

如果m为负数,则右对齐(右侧补空白)。

2、转义字符

如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。

如:printf("%f%%",1.0/3);输出结果:0.333333%。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6fe74e2
推荐于2017-10-01 · TA获得超过6593个赞
知道大有可为答主
回答量:1973
采纳率:100%
帮助的人:263万
展开全部

16进制10到15是用A到F来代替的,所以你需要做个映射

而且你的sljz函数写错了:

void sljz(int a)
{
char map[17]="0123456789ABCDEF";
    int c,b;       
b=a/16;
if(b!=0)
sljz(b);//这儿ejz(b); 
c=a%16;
printf("%c",map[c]);//printf("%d",c);
}

把整数转成字符输出

结果:

另外也可以用%x,%X的方法控制输出,如楼上所说

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
中国达人444
推荐于2017-09-02 · TA获得超过3万个赞
知道大有可为答主
回答量:3390
采纳率:0%
帮助的人:581万
展开全部
  c语言中的十六进制的标志是0x,下面的例子可以参考:
  用 %x 格式输出就是16进制。
#include<stdio.h>
int main()
{
int a=0;
printf("0x%08x",a);
}
运行结果:
0x00000000
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
makubexhacker
2014-01-09 · TA获得超过365个赞
知道小有建树答主
回答量:258
采纳率:0%
帮助的人:168万
展开全部
#include<stdio.h>
void ejz(int a);
int main(void)
{
    int i;
    scanf("%d", &i);
    printf("二进制为:");
    ejz(i);
    printf("\n八进制为:%o\n", i); //用%o输出8进制
 
    printf("十六进制为:%x\n", i); //用%x输出16进制
    return 0;
}
void ejz(int a)
{
    int c, b;
    b = a / 2;
    if (b != 0) ejz(b);
    c = a % 2;
    printf("%d", c);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式