跪求:请大侠帮帮我!怎样用C语言编写并读取按二进制存储,每三个字节存储两个数,一个数12bit的.dat文件

截图是.dat文件里的数据。这个文件是MIT_BIH的数据库(有关心电图的数据库在这个可以下载到http://www.physionet.org/physiobank/d... 截图是.dat文件里的数据。这个文件是MIT_BIH的数据库(有关心电图的数据库在这个可以下载到http://www.physionet.org/physiobank/database/mitdb/)数据文件[.dat],按二进制存储,每三个字节存储两个数,一个数12bit。是C语言编写,不是用C++语言。要有详细的程序和思路。真诚的谢谢您了!能在VC上运行。 展开
 我来答
judyfeng1980
2011-09-26 · TA获得超过3255个赞
知道小有建树答主
回答量:935
采纳率:0%
帮助的人:709万
展开全部
每三个字节存储两个数,一个数12bit。这个怎么解析?
还有你要画图还是解析出来数据就行了?
追问
一个字节是8位,三个节是24位,读的时候按照12位一个数去读,有两个数。现在是能用C语言把数据正确的读出来就行了。
追答
#include "stdio.h"
union
{
unsigned char byte[3];
struct
{
unsigned int data1:12;
unsigned int data2:12;
};
}s;
int main(int argc, char* argv[])
{
s.byte[0]=0x12;
s.byte[1]=0x34;
s.byte[2]=0x56;
printf("0x%x\r\n", s.data1);
printf("0x%x\r\n", s.data2);
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1fc36d4
2011-09-26 · TA获得超过3125个赞
知道大有可为答主
回答量:1497
采纳率:100%
帮助的人:1797万
展开全部
假设3个字节是 AB CD EF
2个数是什么?0XDAB和0XEFC?
你不会要我们去看所有资料整理出这些吧?

读数据的话,就字节拼凑,若是上面的描述就是
data[n]=byte[n*3]+((byte[n*3+1]&0x0f)<<8);
data[n+1]=(byte[n*3+1]>>4)+(byte[n*3+2]<<4);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pudang1
2011-09-27
知道答主
回答量:24
采纳率:0%
帮助的人:6.7万
展开全部
呵呵 分少
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
勾景0i8
2011-09-26 · 知道合伙人互联网行家
勾景0i8
知道合伙人互联网行家
采纳数:142 获赞数:627
仁人教育创始人

向TA提问 私信TA
展开全部
观摩中。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式