C语言中16进制的表示方法

C语言中16进制的表示方法,第1张

16进制以0x开头,后面跟数字0~9或字母A~F(小写也可以),如:0x2D(16进制数2D)

1、十六进制(英文名称:Hexadecimal),是计算机中数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-F组成,字母不区分大小写。

2、十六进制与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F。

举例如下:

int x=23

printf("%x", x) // 以16进制格式输出,输出17

printf("%o", x) // 以8进制格式输出,输出27

大家好,开发过程中,经常会遇到16进制方式输出数据,现把代码实现粘贴出来,希望对大家有用,其他进制输出,原理实现类似,只是输出格式做了变换。

void hex_log_print(uint8 *pdata, int size)

{

int32 i

uint8 buf[100]

uint8 len

int count

int log_len

int remain_len

int line_len

if (size <= 0)

{

KING_SysLog("fail:hex_log_print,size:%d", size)

return

}

count = 0

log_len = size

do

{

remain_len = log_len - count

if (remain_len >16 )

{

line_len = 16

}

else

{

line_len = remain_len

}

len = 0

for (i = 0 i <line_leni++)

{

len += snprintf((char *)buf + len, sizeof(buf), "0x%02X, ", pdata[count + i])

}

buf[len] =''

KING_SysLog("%sr ", buf)

count += line_len

}while(count <log_len)

}

计算机内部用 2 进制。

程序编写 可以用 10进制,8进制,和 16进制。

例如: 987 -- 是10进制数; 0x08FF -- 是16进制数; 035 -- 是8进制数。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11813665.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存