lzl
lzl
驱动大牛
驱动大牛
  • 注册日期2001-09-11
  • 最后登录2010-06-22
  • 粉丝1
  • 关注0
  • 积分127分
  • 威望48点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
阅读:2083回复:4

标度变换问题

楼主#
更多 发布于:2005-03-25 09:26
A/D转换的结果进行标度变换时要乘以一个小数,那么称王小数后这个数
是什么形式的呢?函数如下:
 /*标度变换,将A/D转换的二进制,变为与0-3000Kg对应的压缩BCD码*/
 uint ScaleConver(uint Bin)
 { uint Kg;
  
   Kg=0.1831*Bin;
   return (iHex_Bcd(Kg)); //返回压缩bcd码
  }
////////////////////////////////////////////////
//16进制转bcd函数
//
///////////////////////////////////////////////
uint  iHex_Bcd(uint hex)
{  uint Qian,Bai,Shi,Ge,temp;
   Qian=hex/1000;
   temp=hex%1000;
   Bai=temp/100;
   temp=temp%100;
   Shi=temp/10;
   Ge=temp%10;
  
   temp=Qian<<12;
   temp|=Bai<<8;
   temp|=Shi<<4;
   temp|=Ge;
   return temp;
   }

这样行吗?
l=z=l 我听说,灌水是使分数快速增长的有效方法
lbcat
驱动牛犊
驱动牛犊
  • 注册日期2002-03-19
  • 最后登录2007-09-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-03-29 08:26
 你用uint来进行浮点运算???
lzl
lzl
驱动大牛
驱动大牛
  • 注册日期2001-09-11
  • 最后登录2010-06-22
  • 粉丝1
  • 关注0
  • 积分127分
  • 威望48点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-03-29 14:57
是阿,我想用uint型来保存,不知结果如何?
l=z=l 我听说,灌水是使分数快速增长的有效方法
lbcat
驱动牛犊
驱动牛犊
  • 注册日期2002-03-19
  • 最后登录2007-09-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-03-30 08:17
  会截取结果的整数部分来保存咯,小数位就丢掉了~~
lzl
lzl
驱动大牛
驱动大牛
  • 注册日期2001-09-11
  • 最后登录2010-06-22
  • 粉丝1
  • 关注0
  • 积分127分
  • 威望48点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-03-31 18:16
今天试过了,没问题!
l=z=l 我听说,灌水是使分数快速增长的有效方法
游客

返回顶部