版块
论坛
喜欢
话题
应用
搜索
登录
注册
lzl的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=8628
如何往x5045里存浮点数?
我要作一个除法其结果为浮点数,应该怎么往x5045里保存?Vlu_Temp=(float)232/(float)1000在watch窗口看到的结果是0.232(hex)。应该如何写入?
回复
(
8
)
2005-04-03 19:32
来自版块 -
Keil C 使用
◆
◆
表情
告诉我的粉丝
提 交
lzl
:
我也是这么想的!也只有如此了。
(2005-04-05 18:30)
回复
lbcat
:
其实你没必要先除100再保存,你可以直接保存整数形式,等运算到最后结果才除以100,这样就避免了很多浮点运算,而且保存操作也方便~~ 例如客户输入的系数是123(当然运算时是用1.23),你就把123这个整数保存下来就可以了。只要拿出来运算时记得除以100就可以(最好是完成...
(2005-04-05 11:23)
回复
lzl
:
我在键盘上没设小数点,想让客户输入三个小于等于9的数字,由程序完成除以100,以得到两位小数,作为系数。要保持一定的精度。我想等用户(自己调试时也要用)输入完成,并且除完100后保存,以后直接调用。就像PID运算的参数。 你有好法么?
(2005-04-05 09:26)
回复
lbcat
:
在watch窗口里选择hex显示对浮点数是无效的,因为它没法以hex的方式来表示…………所以怎么都会以十进制来显示的…… 你那个程序编译不了是正常的呀,都说了浮点数是不能用位运算的了~((float)232/(float)1000)在赋给Vlu_Temp前还是浮点数而不是uin...
(2005-04-05 09:15)
回复
lzl
:
你可以试一下!编译后看看!
(2005-04-04 17:39)
回复
lzl
:
在watch窗口里 选中 hex格式(不是十进制)也是显示0.232。我想用移位的方法拆成四个byte型 ,可是编译器通不过!
(2005-04-04 17:37)
回复
lbcat
:
浮点数就占4个字节,你就把这4个字节保存下来就行了,读的时候赋给一个浮点变量就行了…………0.232就是十进制来的,不是hex…………既然是float又怎么会给你进行位运算??float和long int虽然都占4个字节,但解释的方法是不同的………… :mad:
(2005-04-04 14:51)
回复
lzl
:
Vlu_Temp还不支持右移8位。明明是float 占4个字节,为什么不让右移? 这他妈的作PID运算还不偏到天上去了。真是个垃圾!
(2005-04-03 21:06)
回复
lzl
加关注
写私信
0
关注
1
粉丝
649
帖子
返回顶部