社区
C语言
帖子详情
字符数组中存十六进制数如何转成十进制数?
ltolll
2007-07-26 05:57:52
byte ch[40]={0X01,0X2F,0XAB,0X23}
这个十六进制数连在一起就是:012FAB23,想要将其转成十进制的数(20070330)存在数值或字符串变量里都可以.
最好是有现在的函数可用.
...全文
800
11
打赏
收藏
字符数组中存十六进制数如何转成十进制数?
byte ch[40]={0X01,0X2F,0XAB,0X23} 这个十六进制数连在一起就是:012FAB23,想要将其转成十进制的数(20070330)存在数值或字符串变量里都可以. 最好是有现在的函数可用.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhangjgbupt
2007-07-30
打赏
举报
回复
不可以,我都试过了,不知道这个是什么意思
xiuhai
2007-07-28
打赏
举报
回复
可以吧!
zhangjgbupt
2007-07-28
打赏
举报
回复
count += sprintf(tmp+count, "%x", ch[i]&0xff);
ch[i]&0xff这句起什么左右,直接可以用ch[i]吗??
ltolll
2007-07-27
打赏
举报
回复
0x012fab23的十进制不是19901219吗?
-------------------------------------
是的,对不起,我搞错了
请问jxlczjp77()
char* pa=(char*)&a;//这句我还看得懂
pa[0]=ch[3];//这4句为什么字节是倒过来存的呢?
pa[1]=ch[2];
pa[2]=ch[1];
pa[3]=ch[0];
为什么这么写,是不是与内存存储结构有关,能否解释一下?
ammana_babi
2007-07-27
打赏
举报
回复
zzyjsjcom()
与内存存储结构 没有关系
我觉得这样写代码是不安全的,有的CPU或者IC是不仅仅支持一种从高到低的存储器访问和存储模式的。这样做是不是要冒点风险?
zzyjsjcom
2007-07-27
打赏
举报
回复
与内存存储结构 没有关系
zzyjsjcom
2007-07-27
打赏
举报
回复
1. (char*)&a 取a的地址并转化为char *类型;
这样 pa就指向了a的最低位的一个字节,ch[3]是最低位的字节,当然要把它赋给pa[0]
2. pa[0] 就是*pa
而,pa[1],pa[2],pa[3]分别是:*(pa+1),*(pa+2),*(pa+3)
jixingzhong
2007-07-26
打赏
举报
回复
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ch[40]={0X01,0X2F,0XAB,0X23}, tmp[40];
long num=0;
int i=0, count=0;
while(ch[i])
{
count += sprintf(tmp+count, "%x", ch[i]&0xff);
i++;
}
puts(tmp);
num = strtol(tmp, NULL, 16); //现成函数只有这个比较接近你的要求
printf("num = %ld\n", num);
system("PAUSE");
return 0;
}
但是需要构造一个字符串,
就是 "012FAB23",
这里使用 count += sprintf(tmp+count, "%x", ch[i]&0xff); 循环构造字符串。
jixingzhong
2007-07-26
打赏
举报
回复
char ch[40]="012FAB23";
long num=0;
num = strtol(ch, NULL, 16);
printf("num = %ld\n", num);
jxlczjp77
2007-07-26
打赏
举报
回复
0x012fab23的十进制不是19901219吗?
byte ch[40]={0X01,0X2F,0XAB,0X23}
int a;
char* pa=(char*)&a;
pa[0]=ch[3];
pa[1]=ch[2];
pa[2]=ch[1];
pa[3]=ch[0];
cout<<a<<endl;
halve
2007-07-26
打赏
举报
回复
sprintf()
java中进制转换(二进制,
十进制
,
十六进制
)及字节
数
组与
十六进制
的转换
最近由于工作上的需要,遇到进制转换的问题。涉及到的进制主要是
十进制
,
十六进制
,二进制中间的转换。还包括了一个字节
数
组 与
十六进制
字符串的互相转换。估计遇到蓝牙通信的朋友,应该用的上。
labview
十六进制
转
十进制
labview
十六进制
转
十进制
,输入字符串控件是
十六进制
显示。
青少年C++编程NOIP/CSP竞赛通关语法-
字符
数
组
本课程为零基础C++语法专题课,是青少儿参加信息学奥赛NOIP/CSP需要学习的语法专题课;2、本课程每节课均配有练习题以及真题,以锻炼孩子的解题能力;3、本课程是基于小学生的认知发展水平开发的,运用孩子生活中常见的例子来阐述编程知识,让孩子听得懂学得会;4、学完本课程后,孩子可以自主编程,解决竞赛中,生活实际问题,5、拓展孩子计算思维,应对人工智能时代的挑战。6、本课程介绍的是
字符
数
组
。也是历来竞赛重要考点。
android byte字节
数
组转换
十六进制
字符串
android byte字节
数
组转换
十六进制
字符串一个demo。里面有几种转换测试代码。我的博客地址:http://blog.csdn.net/qq_16064871。
java工具类 string转10进制sacii byte
数
组再转16进制
字符
数
组
再转16进制byte
数
组 string与BCD互转
java工具类 : string转10进制sacii byte
数
组、 10进制sacii byte
数
组转16进制
字符
数
组
、 16进制
字符
数
组
转16进制byte
数
组、 string与BCD互转等方法,包含多个转换方法, 足够满足日常解包组包需求
C语言
69,374
社区成员
243,079
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章