Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2009-07-11
帖子: 6
声望力: 0 ![]() |
![]()
我现在得到一个hex形式的数据‘13’,想按位读取到a(1),a(2)中,使得a(1)=1,a(2)=3,我该如何实现?
|
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2008-11-01
年龄: 39
帖子: 406
声望力: 26 ![]() |
![]()
lz 说说我的个人意见
不知道我理解的是否清楚 lz说的'13'是存储为16进制的数据 对应的10进制值为13对么? 直截了当的途径是 可以先考虑转化为十进制 然后对10取余 并存储 当然 也可以从16进制方面考虑 不过要进行取余后的整理 希望可以对你有些帮助 Thx for reading. PS:若还算满意,直接点击“Thanks”,再次登陆时亦便于查看回答是否真的帮到你了。 通过点击本人帖子旁边的ID 可以使用“发送悄悄话给silas_xue”与我进行联系 个人观点 仅供参考 多多交流 相互学习 |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2009-07-11
帖子: 6
声望力: 0 ![]() |
![]()
谢谢楼上的回答,我所说的‘13’是hex形式的数据,其对应的十进制是19。我用的方法是先用bitget按位取出来,然后再用一for循环得到正确的排列顺序,然后将前四个数字转换成了字符串的形式,这时得到的是二进制,再转换成十进制,再转换成hex形式,这时得到了1,储存在a(1)中。但是这样太麻烦,有没有简单的方法?
|
![]() |
![]() |
![]() |
#4 |
高级会员
注册日期: 2008-11-01
年龄: 39
帖子: 406
声望力: 26 ![]() |
![]()
lz 我想你这样做没有问题 把hex和二进制数直接对应起来 就会少不少麻烦 lz可以通过matlab的help搜索一下hex( )和hex2dec( )两个函数及相关说明 希望可以对你有些帮助
|
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2009-07-11
帖子: 6
声望力: 0 ![]() |
![]()
我查了一下,matlab里面没有hex2bin这个函数,也没有bin2hex函数
|
![]() |
![]() |
![]() |
#6 |
高级会员
注册日期: 2008-05-13
年龄: 44
帖子: 232
声望力: 21 ![]() |
![]()
没有的话可以自己写吗,呵呵!取出m进制的每位数可以直接按取余数来操作呀。
__________________
工科'985'博士,(图像处理、分析及理解;模式识别;运动估计;数据分析等)定做程序、算法实现--qq:752105755 |
![]() |
![]() |
![]() |
#7 |
高级会员
注册日期: 2008-11-01
年龄: 39
帖子: 406
声望力: 26 ![]() |
![]()
lz 不知道你使用的是什么版本的matlab
2007b中是有hex2dec( ) 这个函数的 你可以再确认一下 |
![]() |
![]() |