C语言程序开发实例(持续更新)

进制转换

将十进制转换成十六进制

#include<stdio.h>

int main(void)
{
    int i;
    printf("please input decimalism number:\n");
    scanf("%d", &i);
    
    printf("the hex number is %x", i);
    
    return 0;
}

主要利用输入、输出格式控制符

格式字符串的一般形式
【标志】【输出最小宽度】【.精度】【长度】
标志 描述
%d 以十进制形式输出带符号整数(正数不输出符号)
%ld 按十进制长整形输出
%f 以小数形式输出单、双精度实数
%e 以指数形式输出单、双精度实数
%g 以%f%e中较短的输出宽度输出单、双精度实数
%o 以八进制形式输出无符号整数(不输出前缀0)
%x 以十六进制形式输出无符号整数(不输出前缀0X)
%u 以十进制形式输出无符号整数
%c 输出单个字符
%s 输出字符串
- 结果左对齐,右边填空格
+ 输出符号(正号或负号),输出值为正时冠以空格,为负时冠以负号
# 对%#o,在输出时加前缀0;对%#x,在输出时加前缀0X;对%#e、%#f、%#g,当结果有小数时才给出小数点
空格
. + 十进制整数 如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分
%h 表示按短整形量输出
%l 表示按长整形量输出
输出最小宽度 用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0

十进制转换为二进制

#include<stdio.h>

int main(void)
{
   
    int i , j ,n ,m;
    int q[16] = {
   0};
    
    printf("please input the decimalism number(0 ~ 32767):\n");
    scanf("%d", &n);
    
    for(m = 0; m < 15; m++)
    {
   
        i = n % 2;
        j = n / 2;
        n = j;
        q[m] = i;
    }
    //q[15] = 0
    
    for(m = 15; m >= 0; m--)
    {
   
        printf("%d", q[m]);
        if(m % 4 == 0)//调整格式
            printf(" ");
    }
    
    return 0;
  • 12
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海大皓月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值