[C语言] 16进制整数转字符串

发布者:和谐相处最新更新时间:2022-09-20 来源: csdn关键字:C语言  16进制 手机看文章 扫描二维码
随时随地手机看文章

static void hex_to_str(uint8_t *source, uint32_t len, uint8_t *target)

{

    uint8_t ddl, ddh;

    uint32_t i;


    for (i = 0; i < len; i++)

    {

        ddh = ('0' + source[i] / 16);

        ddl = ('0' + source[i] % 16);


        if (ddh > '9')

            ddh = (ddh + ('a' - '9' - 1));

        if (ddl > '9')

            ddl = (ddl + ('a' - '9' - 1));


        target[i * 2] = ddh;

        target[i * 2 + 1] = ddl;

    }

    target[len] = '';

}


关键字:C语言  16进制 引用地址:[C语言] 16进制整数转字符串

上一篇:[单片机] md5签名算法
下一篇:[单片机框架][AT指令框架][从机版] 高内聚 低耦合

推荐阅读最新更新时间:2024-11-11 16:03

[C语言] 16进制整数字符串
static void hex_to_str(uint8_t *source, uint32_t len, uint8_t *target) { uint8_t ddl, ddh; uint32_t i; for (i = 0; i len; i++) { ddh = ('0' + source / 16); ddl = ('0' + source % 16); if (ddh '9') ddh = (ddh + ('a' - '9' - 1)); if (ddl '9&
[单片机]
12232c液晶显示和8051单片机的接口c语言程序
以下为彭总编写的c语言程序,我用过了!赫赫!!在atmega128中写通讯协议的头四位数字时好像不能分开一位一位的送,而是要把它当作一个16进制的整体移位写入!程序中的comm为写0表示写12232c的指令,dat为1表示写数据。cs,sclk,std分别为片选、时钟、及数据io口,可用sbit指令定义。 /************lcd初始化程序**************/ void init_lcd (void) { wr_lcd (comm,0x30); /*30---基本指令集动作,8位控制接口*/ wr_lcd (comm,0x01); /*清
[单片机]
stm8s跳出中断程序c语言,STVD自动生成的stm8
整理一下,不知理解对不对; /* BASIC INTERRUPT VECTOR TABLE FOR STM8 devices * Copyright (c) 2007 STMicroelectronics */ //typedef void (*)void,;定义一个类型(指向函数的指针)取得void类型函数的函数入口地址指针 typedef void @far (*interrupt_handler_t)(void); //定义一个结构体类型存放{中断指令,中断处理程序名(即中断函数入口指针)} struct interrupt_vector { unsigned char interrupt_instruction
[单片机]
c语言多文件 6410 led裸机程序
// led4 gpk7 // led3 gpk6 // led2 gpk5 // led1 gpk4 0 ,light //u32 rGPIOKCON0; //0x7f008800 // u32 rGPIOKCON1; //0x7f008804 // u32 rGPIOKDAT; //0x7f008808 //u32 rGPIOKPUD; //0x7f00880c #include def.h #include gpio.h #define led1on ~(1 4) #define led2on ~(1 5) #define led3on ~(1 6) #define led4on ~(1
[单片机]
C语言关键字-static
用法1:在一个函数体内使用static定义一个变量,保证该变量只进行一次初始化 例:#include stdio.h int test(void) { static int i=0; //对应 int i=0 结果为i=1 i=1 i=1 i=1 i=1 i++; return i; } int main( ) { for(int j=0;j 5;j++) printf( test=%d\n ,test()); return 0; } 输出结果:i=1 i=2 i=3 i=4 i=5 用法2:在模块内,函数体外声明的static变量,只能被模块内函数调用,而模块是无效的(其中模块即:一个.c文
[单片机]
C语言试题大全一
1. 写一函数,实现删除字符串str1中含有的字符串str2. /* 用递归做 */ void deletesubstr(char* str1, const char* str2) { int len=strlen(str1); char* newstr; char* sp; if(str1==NULL||str2==NULL) return; if(strlen(str1) strlen(str2)) return; if(sp=strstr(str1,str2
[单片机]
如何使用C语言来编写MSP430的高质量代码
微处理器一般用于特定环境和特定用途,出于成本、功耗和体积的考虑,一般都要求尽量节省使用资源,并且,由于微处理器硬件一般都不支持有符号数、浮点数的运算,且运算位有限,因此,分配变量时必须仔细。另外要说明的是,速度和存储器的消耗经常是2个不可兼顾的目标,在多数情况下,编程者必须根据实际情况作出权衡和取舍。 需要注意的事项如下: 1) 通常在满足运算需求的前提下,尽量选择为变量定义字节少的数据类型。 比如最常用的int和char,int是16位的,char是8位的,如果没有必要,不要使用int,而且使用char也最好使用unsigned char。运行时,可以在变量窗口看到,使用类型为unsigned char的变量是16进制的格式
[单片机]
STM32Fatfs遍历文件(C语言实现)
两种方法二选一: //遍历文件 //path:路径 //返回值:执行结果 u8 mf_scan_files(u8 * path) { FRESULT res; char *fn; /* This function is assuming non-Unicode cfg. */ char *p; #if _USE_LFN fileinfo.lfsize = _MAX_LFN * 2 + 1; fileinfo.lfname = mymalloc(SRAMIN,fileinfo.lfsize); #endif res = f_opendir(&DirInfo,(const XCHAR*)path);
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved