【C语言】 任意十进制数字转十六进制

大概思路:
输入任意十进制数字 首先确定位数;

使用整形数组来存储十六进制数; a[0] 表示十六进制数字的位数;

#include <stdio.h>
#include <stdlib.h>

#define MAXSIZE 10
int* ahex(int dec){
    int n=1;
    int m=16;
    int *a;
    a = (int*)malloc(sizeof(int)*MAXSIZE+1);
    while(dec >= m)
    {
        m = m*16;
        n++;
    }
    //printf("位数:%d\n",n);
    *a = n;
    while(n>0)
    {
         *(a+n)= dec/(m/16);
         dec = dec-*(a+n)*(m/16);
         n--;
         m = m/16;

    }
    return a;
}

void print_hex(int *p){
    int n = *p;
    printf("hex: 0x");
    while(n>0)
    {
        switch(*(p+n)){
            case 10:printf("A");break;
            case 11:printf("B");break;
            case 12:printf("C");break;
            case 13:printf("D");break;
            case 14:printf("E");break;
            case 15:printf("F");break;
            default: printf("%d",*(p+n));break;
        }
        n--;
    }
    printf("\n");
}
int main()
{
    int rec=0;
    int *p;
    while(1){
        printf("请输入一个十进制数字:");
        scanf("%d",&rec);
        p = ahex(rec);
        print_hex(p);
    }
    return 0;
}

最终效果:

原文地址:https://www.cnblogs.com/tao-zhu-forever/p/9126890.html

时间: 2024-11-05 20:25:47

【C语言】 任意十进制数字转十六进制的相关文章

任意二进制文件和十六进制相互转化工具

/*========================================================*/ /* RainLeaf 文件转化工具 [版本 1.0]/n(C) 版权所有 2008-2009 R.L Studio. 功能:将一个文件转化为十六进制文件,或者将一个十六进制文件转化为二进制文件 条件:输入文件必须存在 方法:CONVERTFILE [-h | -f] CONVERTFILE -h :将输入二进制文件转化为十六进制文件 CONVERTFILE -f :将输入十

2_C语言中的数据类型 (二)进制

1.1       二进制数.位.字节与字 我们习惯于十进制的数:10,12等 一个位只能表示0,或者1两种状态,简称bit,一个位是一个bit 一个字节为8个二进制,称为8位,简称BYTE,8个比特是一个字节 一个字为2个字节,简称WORD. 两个字为双字,简称DWORD 1.2       八进制 八进制为以8为基数的数制系统,C语言当中0表示八进制,0666; 1.3       十六进制 十六进制值16为基数 的数制系统,C语言中用0x表示十六进制 十进制 十六进制 二进制 0 0 00

C语言基础课程 第四课 它山之石可以攻玉---C语言数据类型和表达式

?? 1         C语言中的数据类型 1.1      常量 常量就是在程序中不可变化的量 1.1.1         #define #define MAX 10 Define的常量一般用大写定义,这是惯例,而不是强制要求 1.1.2         const const int i =100;//定义了一个int型的常量 1.2      字符串常量 "hello world" C语言""都是字符串常量 1.3      二进制数.位.字节与字 我们习

C语言基础-第二课-数据类型与运算符

1   C语言中的数据类型 1.1   常量 常量就是在程序中不可变化的量,常量在定义的时候必须给一个初值. 1.1.1   #define 定义一个宏常量 1.1.2   const 定义一个const常量 1.2   字符串常量 "hello world" 对于#define类型的常量,c语言的习惯是常量名称为大写,但对于普通const常量以及变量,一般为小写结合大写的方式 1.3   二进制数.位.字节与字 我们习惯于十进制的数:10,12等 一个位只能表示0,或者1两种状态,简

前端学PHP之正则表达式基础语法

前面的话 正则表达式是用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分割.匹配.查找及替换操作.在PHP中,正则表达式一般是由正规字符和一些特殊字符(类似于通配符)联合构成的一个文本模式的程序性描述.正则表达式有三个作用:1.匹配,也常常用于从字符串中析取信息:2.用新文本代替匹配文本:3.将一个字符串拆分为一组更小的信息块.本文将详细介绍PHP中的正则表达式基础语法 [注意]关于javascript的正则表达式的详细信息移步至此 历史 在PHP中有两套正则表达式函数库,两者功

windows7命令帮助大全

有关某个命令的详细信息,请键入 HELP 命令名ASSOC 显示或修改文件扩展名关联.ATTRIB 显示或更改文件属性.BREAK 设置或清除扩展式 CTRL+C 检查.BCDEDIT 设置启动数据库中的属性以控制启动加载.CACLS 显示或修改文件的访问控制列表(ACL).CALL 从另一个批处理程序调用这一个.CD 显示当前目录的名称或将其更改.CHCP 显示或设置活动代码页数.CHDIR 显示当前目录的名称或将其更改.CHKDSK 检查磁盘并显示状态报告.CHKNTFS 显示或修改启动时间

window批处理——bat文件的编写

BAT 批处理脚本 教程 第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程.了解了大概意思后,我们正式开始学习.先看一个简单的例子!@echo offecho "欢迎来到非常BAT!"pause把上面的3条命令保存为文件test.bat或者test.cmd然后执行,他就会在屏幕

BAT&amp;nbsp;批处理脚本教程(如果可以用电脑让事情变的更简单,何不让它变得更简单呢!)

第一章 批处理基础 第一节 常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令. 小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程. 了解了大概意思后,我们正式开始学习.先看一个简单的例子! @echo off echo "欢迎来到非常BAT!" pause 把上面的3条命令保存为文件test.bat或者test.cmd然后执行, 他就会在屏幕上显示以下二

批处理命令基础

第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程.了解了大概意思后,我们正式开始学习.先看一个简单的例子!@echo offecho "欢迎来到非常BAT!"pause把上面的3条命令保存为文件test.bat或者test.cmd然后执行,他就会在屏幕上显示以下二行话:欢迎来到