1个字节占多少个16进制转字节数组位

共有 10948 人关注过本帖
标题:请教:如何请一个四字节的16进制数转换为十位十进制数?
等 级:新手上路
&&已结贴√
&&问题点数:20&&回复次数:9&&&
请教:如何请一个四字节的16进制数转换为十位十进制数?
得到四个十六进制的数,比如a[1],a[2],a[3],a[4]分别代表四个字节;那现在要如何把这四个字节组合在一起转换为十位十进制输出呢?比如4A2B3C4D这四个字节组合在一起,要输出:。应该如何写代码,请赐教,不胜感激!我的QQ:,请联系我,交个朋友。
搜索更多相关主题的帖子:
等 级:蜘蛛侠
帖 子:258
专家分:1138
看不出来你哪儿不懂?想给你建议也无从下手啊
等 级:黑侠
帖 子:226
专家分:618
用一个char数组来存储,但用整数来赋值
char a[4]={90,43,60,77};
首先分别将a[i](0&=i&4)转化为十六进制
high=(int)a[i]/16;
low=(int)a[i]%
如90,high=5,low=10;43,high=2,low=11;60,high=3,low=12;77,high=4,low=13;
然后给每个不同的i分配权值
int power=2*(MAX-1-i)+1;
对MAX=4的数组,i=0,1,2,3其权值分别为7,5,3,1,
代表第一个high,low对的权值为7,6;第二对为5,4;3,2;1,0;
那么结果为
int res=0;
res+=(high*16^power+low*16^(power-1));
这样对所有i循环完成后,上例为:
res=0+(5*16^7+10*16^6)+(2*16^5+11*16^4)+(3*16^3+12*16^2)+(4*16^1+13*16^0)
等 级:业余侠客
帖 子:95
专家分:260
#include&stdio.h&
void main()
char a[4];
int o=0; //存放最终结果
for(int i=0;i&4;i++)
&&& scanf(& %x&,&a[i]);//输入数据
for(int j=0;j&4;j++)
&&& o*=16;o+=a[j];合成数据
printf(&%d&,o);输出数据
等 级:新手上路
以下公式就能实现
a[1] * 16^3 + a[2] * 16^2+ a[3] * 16^1 + a[4] * 16^0
等 级:贵宾
威 望:58
帖 子:3841
专家分:11385
用位运算啊
总有那身价贱的人给作业贴回复完整的代码
来 自:China
等 级:业余侠客
帖 子:183
专家分:258
那么着急求代码干啥?
Google一下进制转换,看一下16进制如何转换成10进制不就OK了
学如逆水行舟,不进则退
士不可以不弘毅,任重而道远
等 级:黑侠
帖 子:226
专家分:618
回4、5楼:
你们没理解楼主的意思,楼主说的是一个[4]数组(类型暂定),但表示的是5A2B3C4D共8位的16进制数,也就是说5A(十进制的90)存数组[0],2B存数组[1]以此类推。由于最大的是FF,也就是十进制的256,因此可以用一个char类型来存储,但少一个256,也可以用int型来存储,但不管怎么存储,结果都是5*16^7+10*16^6+......,而不是90*16^3......,其中5就是数组[0]存储的数字90,除以16的商,而10是90除以16的余数。
等 级:业余侠客
帖 子:95
专家分:260
回复 8楼 stophin
谢谢提醒,原来却是我错了。
等 级:论坛游民
帖 子:52
专家分:73
版权所有,并保留所有权利。
Powered by , Processed in 0.025782 second(s), 6 queries.
Copyright&, BCCN.NET, All Rights Reserved每日登录:+1西币&+1积分
&下次自动登录
绑定第三方账号登录 & & &
扫描二维码登录支持中心移动端
获取动态密码
| 新手必读 |
You are here:
如何将一个16进制的1个字节是数...
热点活动:
如何将一个16进制的1个字节是数转换成ASC码? - 已解决问题
在与仪表通信过程中,自由口与仪表进行数据包发送和返回的过程中,要将16进制的1个字节表示成对应当ASC码,我找手册怎么找也没这个功能啊,需要自己编模块吗?
产品版区:
悬赏分:10 | 解决时间: 15:57:50 | 提问者: - 新生&nbsp&nbsp第1级
问题ID:46265
仔细看手册,手册上指令一节好好看看&Network1&LD&&&&&SM0.0&HTA&&&&VB1000,&VB900,&2&&&&//将存放在VB1000中的16进制数转换成asc码值,长度为2位,存放到以VB900开始的地址中;&Network&2&LD&&&&&SM0.0&MOVB&&&VB900,&VB300&&&//将VB900中的asc码值传送到定义的数据包vb300的位置;&AENO&MOVB&&&VB901,&VB301//将VB901中的asc码值传送到定义的数据包vb301的位置;&一般欧姆龙表喜欢使用asc码值来传输数据。&
高级技术员&nbsp&nbsp第7级&
以下网友赞了您的问题:
填写您的评论...
提问者对于答案的评价:谢谢,问题解决了
更多相关问题
本版精华问答
等待您来回答
作者/最新回复
最后回复时间
有现成的块啊!
- 中级技术员&nbsp&nbsp第6级
& 12:26:16
Network1应该是:&LD&&&&&SM0.0&HTA&&&&VB1000,&VB900,&1&&长度是“1”不是“2”,HEX至ASCII&指令将从输入字节(IN)开始的十六进制数字转换成从OUT开始的ASCII字符。欲转换的十六进制数字位数由长度(LEN)指定。&LEN的数据类型是字节。
- 中级工程师&nbsp&nbsp第10级
& 17:05:19
上一页1下一页&
扫描打开手机版
20秒帮我们优化支持中心!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
欢迎您来到找答案
在“找答案”,已有超过7万个被解决的技术问题供您参考!
西门子技术专家亲自把关!常规的,简单的问题,在这里您都可以找到答案!
遇到了问题,就来“找答案”提问。
点击搜索框右侧的提问按钮,只需2步就能成功提交问题!分分钟就有无数大侠前来帮你。
在“找答案”每天都有大量的新问题。
别犹豫,只需要点击问题下方的“我要回答”就能参与。答题不光有积分相送,也会给您积攒大侠人气。
“找答案”定期开展各种有奖活动期待您的参与。
更有机会参加西门子高端用户峰会。领略西门子的博大精深!一个字节用一个几位二进制代码表示?急!-学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
> 信息中心 >
一个字节用一个几位二进制代码表示?急!
来源:互联网 发表时间: 13:17:01 责任编辑:王亮字体:
为了帮助网友解决“一个字节用一个几位二进制代码表示?急!”相关的问题,学网通过互联网对“一个字节用一个几位二进制代码表示?急!”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:一个字节用一个几位二进制代码表示?急!,具体解决方案如下:解决方案1:
相关文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 学网 版权所有
京ICP备号-1 京公网安备02号就是你这个解释。
您的举报已经提交成功,我们将尽快处理,谢谢!
1bite(比特)=1字节
数字:1字符=1字节
英文:1字符=1字节
汉字:1字符=2字节
在ASCII码中,一个英文字母(不分大小写)占一个字节...
东汉的《说文解字》收录9353个,
清朝的《康熙字典》收录47035个。
《汉语大字典》收录56000字,
《中华字典》中收录85000字。这是目前收录汉...
计算机存储信息的基本单位是一个2进制位也就是1 ,0中的某一个。这就是一位了。
8个这样的数字(比方:)组成1个字节。代表A。...
大家还关注

我要回帖

更多关于 字节转16进制 的文章

 

随机推荐