Neuron C问题 点击:1868 | 回复:9



kouxmin

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 1回
  • 年度积分:0
  • 历史总积分:7
  • 注册:2003年12月01日
发表于:2005-04-12 15:44:00
楼主
我是刚接触Lonworks的新手,由于一窍不通,只好边看书边找个程序对照着学,当中遇到个赋值语句 const float_type min={0,0x3f,0,0x05,0x1eb8} /*0.52*/ 我想向各位请教一下0.52这个值是如何计算出来的,也就是{}里的内容是什么意思。



破解侠客

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 51回
  • 年度积分:0
  • 历史总积分:81
  • 注册:2002年3月23日
发表于:2005-04-20 18:12:00
1楼
按照浮点数的国际标准IEEE算出来的。 其实你可以这样写: const float_type min=0.52; Neuron C自己会转换的。

zw76812

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 567回
  • 年度积分:0
  • 历史总积分:654
  • 注册:2001年7月18日
发表于:2005-04-25 10:39:00
2楼
IEEE-754标准。 一个浮点数用两个部分表示,尾数和2的幂, 尾数代表浮点上的实际二进制数, 2的幂代表指数,指数的保存形式是一个0到255的8位值, 指数的实际值是保存值(0到255)减去127, 一个范围在-127到+128之间的值, 尾数是一个24位值(代表大约7个十进制数), 最高位MSB通常是1,因此不保存。 一个符号位表示浮点数是正或负。 浮点数保存的字节格式如下: 地址 +0 +1 +2 +3 内容 SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM 这里 S 代表符号位,1是负,0是正 E 偏移127的幂,二进制阶码=(EEEEEEEE)-127。 M 24位的尾数保存在23位中,只存储23位,最高位固定为1。 此方法用最较少的位数实现了较高的有效位数,提高了精度。 零是一个特定值,幂是0 尾数也是0。 x=(-1)S×(1.M)×2E-127;   neuronC里用4字节存储一个浮点数 数据结构: typedef struct { unsigned int Signal :1; //浮点数的符号位 unsigned int MS_exponent :7; //高位阶码 unsigned int LS_exponent :1; //低位阶码 unsigned int MS_mantissa :7; //高位尾数 unsigned long LS_mantissa ; //低位尾数 }float_type const float_type min={0,0x3f,0,0x05,0x1eb8} /*0.52*/ 1: S=0 MS_exponent=0x3f LS_exponent=0,MS_mantissa=0x05,LS_mantissa=0x1eb8; 2: (-1)s=1(是幂) 3:E=0x3f*2-127=126-127=-1 4:M=0.0335544; 5:X=1*2(-1)*0.0335544=0.516 6:四舍五入 0.52 (我们圆满了。。。。)

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 24回
  • 年度积分:0
  • 历史总积分:96
  • 注册:2004年12月17日
发表于:2006-12-18 09:44:00
3楼

5:X=1*2(-1)*0.0335544=0.516应改为5:X=1*2(-1)*1.0335544=0.516
吧,这种算法对吗????
我看书上写{0,0x41,0,0x45,0x7024}=12.34怎么按以上法算不出来而是等于11.64难道是书上写错了??很是郁闷请高手多多指教

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 24回
  • 年度积分:0
  • 历史总积分:96
  • 注册:2004年12月17日
发表于:2006-12-18 10:13:00
4楼
还想问一下,如一个浮点数0.68我怎么能反算出以上按照浮点数的国际标准IEEE算出来的四字节的浮点数?????
LONWORKS 中NXT.EXE程序怎么用?????

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 24回
  • 年度积分:0
  • 历史总积分:96
  • 注册:2004年12月17日
发表于:2006-12-20 19:34:00
5楼
为什么没人回呢??

tj.gocom

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 8回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2008-07-23 14:33:48
6楼

看的有点复杂,头晕了

zw76812

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 567回
  • 年度积分:0
  • 历史总积分:654
  • 注册:2001年7月18日
发表于:2008-08-26 17:24:50
7楼

大哥 c语言都不会了???

 

直接用C 就行  运算方面 有函数 直接支持

nick0411

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2008年12月02日
发表于:2009-02-25 14:53:07
8楼

受教了,谢谢danshibutaimingbai

zw76812

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 567回
  • 年度积分:0
  • 历史总积分:654
  • 注册:2001年7月18日
发表于:2009-04-22 21:08:25
9楼

哥 啊 一定要弄个demo 才明白吗??

 

谁有 neuronc 参考指南 那里面就有样例  查一查


热门招聘
相关主题

官方公众号

智造工程师