| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2462 人关注过本帖
标题:数据分析程序求指教
取消只看楼主 加入收藏
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
结帖率:64.71%
收藏
已结贴  问题点数:100 回复次数:5 
数据分析程序求指教
问题背景:
有数据如下:
#md 0x200eb8c0 4 450
0x200eb8c0: 02681000 00000803 00000001 01200000    ...............
0x200eb8d0: 00000000 000feffd
02000000 23001000    ...............
0x200eb8e0: 01003000 000021ca 03000100 00102000    ...............
..
...
....
0x200ec9e8: 00013000 0020001a  ...............
问题:我要对上述数据进行处理,处理的对象是冒号后面的四组十六进制数
1.如何判断一行读完了?冒号前面的地址怎么处理?
我的想法是用循环做,但是没想到怎么判断一行读完了?
2.我需要将16进制数据先转换成二进制,在转换成十进制,这个怎么处理?
求大神不吝赐教!!!

搜索更多相关主题的帖子: 数据 问题 十六进制 如何 
2012-04-19 22:54
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
收藏
得分:0 
回复 2楼 寒风中的细雨
非常感谢细雨的帮助,但是我C++不会,能说明一下C怎么实现吗?不求具体的程序,求思路!再次感谢细雨!
2012-04-20 18:34
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
收藏
得分:0 
回复 5楼 beyondyf
#md 0x200eb8c0 4 450
0x200eb8c0: 02681000 00000803 00000001 01200000    ...............
0x200eb8d0: 00000000 000feffd 02000000 23001000    ...............
0x200eb8e0: 01003000 000021ca 03000100 00102000    ...............
..
...
....
0x200ec9e8: 00013000 0020001a  ...............
其实程序的最终目的是将上述数据转换成复数,并以表格的形式存储在另外一个文件中。
上面的数据一帧有112.5行,下一帧又是从#md 0x200eb8c0 4 450这个地址开始的,但是数据内容不一样。
具体需要进行如下处理:
0x200eb8c0: 02681000 00000803 00000001 01200000    ...............
0x200eb8d0: 00000000 000feffd 02000000 23001000    ...............
0x200eb8e0: 01003000 000021ca 03000100 00102000    ...............
这六组数据为一个单元:
02681000 00000803 00000001 01200000  
00000000 000feffd
02681000 00000803这两组数据里面又分成3组数据,从右到左每五位16进制数表示一个复数,最左边一位不用。
比如:第一组5位数:00803写成二进制0000 0000 1000 0000 0011 ,每10位二进制表示一个十进制数,最高位表示符号 表示成复数为:2+3i。
第二组五位数00 000 ,表示成0;
第三组五位数26810 ->0010 0110 1000 0001 0000表示成十进制复数:154+16i;
这就是这个程序的目的,不知道我说清楚没有,求指导,不求程序,求思路!谢谢

[ 本帖最后由 venus85 于 2012-4-20 18:59 编辑 ]
2012-04-20 18:57
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
收藏
得分:0 
回复 8楼 beyondyf
大神,你太厉害了,这是抓取的天线角度数据,WCDMA里面的。根据你的思路我再好好想想,谢谢你哦!
输出格式确实是很严格啊,就是按照我说的那种格式,每一组数据都是那样的。而且每一个复数都是有编号的,
每个单元(6组16进制数)是编号从0到7的8组。

另外还有一个问题:我这个数据不能直接用printf输出的,
16进制变成10进制复数的过程是先变成2进制,5位16进制变成20位二进制,前10个二进制表示实部,后10个表示虚部,而且每10个2进制的最高位表示符号位
,这个没法直接用格式符输出的吧!(涉及到5位16进制中的第三位是要分成两部份的,一部分在实部,一部分在虚部)

而且数据本身像九楼说的是已近抓取出来的,存在一个文本上的,不是用scanf读入的!

[ 本帖最后由 venus85 于 2012-4-21 19:54 编辑 ]
2012-04-21 19:43
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
收藏
得分:0 
回复 11楼 beyondyf
非常感谢你的热心帮助,待分析的数据如下,如果方便的话可以加我企鹅吗?一三六九三零七三零,再次表示感谢!!!
我没有把112.5行都贴上来,有这些应该够了!


#md 0x200eb8c0 4 450
0x200eb8c0: 02681000 00000803 00000001 01200000    ...............
0x200eb8d0: 00000000 000feffd 02000000 23001000    ...............
0x200eb8e0: 01003000 000021ca 03000100 00102000    ...............
0x200eb8f0: 00000000 300a0001 09100001 00710000    a......asd.....
0x200eb900: 01000001 00200001 0a000305 000d00e0    ......f......e.
0x200eb910: 00000000 00000a40 00000000 00011100    ...............
0x200eb920: 0000c000 00010000 00000001 0030040a    ............d..
0x200eb930: 00030020 000d0000 a0000020 00020000    .....e.....e...
0x200eb940: 00000000 0002d000 0003000f 00ac0100    ...............
0x200eb950: 00030001 000020d0 0000ce00 00111100    ....fcd....dc..
0x200eb960: 00013000 0020001a 0010a010 00010010    ...............
0x200eb970: 00000000 00011000 00200003 0000102a    .....c.......a.
0x200eb980: 00081000 00010003 000a0000 0f100000    ......f........
0x200eb990: 00000000 000ec00d 02003400 10001000    ...............
0x200eb9a0: 00000000 0000f100 0d000100 000de000    ...e.......d...
0x200eb9b0: 00000000 300a0001 09100001 00710000    a..............
0x200eb9c0: 01000001 00200001 0a000305 000d00e0    ......f......e.
0x200eb9d0: 00000000 00000a40 00000000 00011100    ...............
2012-04-21 21:16
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
收藏
得分:0 
回复 13楼 beyondyf
这个不存在商业秘密,只是实际的数据我这里没有,公司的电脑U口封了,copy不出来,你就帮我演示一下数据怎么读入(是以长整型读入还是以符号读入?还是以其他形式),怎么处理(16进制转换成2进制之后存储在哪里?以什么形式存储)就能很好的帮到我了,谢谢哦!

如果我用fread读的话,遇到#号这一行就不读,开始读下一行,这个怎么实现啊 ??

[ 本帖最后由 venus85 于 2012-4-21 22:45 编辑 ]
2012-04-21 22:38
快速回复:数据分析程序求指教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017546 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved