打印

请教:关于C语言中三角函数及double精度问题,谢谢

[复制链接]
9371|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
汽车电子|  楼主 | 2008-9-7 11:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
汽车电子|  楼主 | 2008-9-7 12:10 | 只看该作者

用long double也没用哦

使用特权

评论回复
板凳
hotpower| | 2008-9-7 19:21 | 只看该作者

不知IAR如何???现在很不喜欢KARM~~~

使用特权

评论回复
地板
王紫豪| | 2008-9-7 20:51 | 只看该作者

不会把,汽车用的是realview编译器吗?double是64bit的啊

但是keil的 CARM是32bit的

使用特权

评论回复
5
hotpower| | 2008-9-8 00:29 | 只看该作者

汽车电子习惯了artx???放不下carm???

使用特权

评论回复
6
王紫豪| | 2008-9-8 09:34 | 只看该作者

没娘要的孩子,还是放弃吧!

使用特权

评论回复
7
汽车电子|  楼主 | 2008-9-8 20:41 | 只看该作者

float是32 Bit的,double是 64Bit的

   C语言默认double是7位有效数字,不关Keil的事

使用特权

评论回复
8
hotpower| | 2008-9-8 20:43 | 只看该作者

10位有效数字???搞的够精密的~~~不行自己用汇编写个~~~

使用特权

评论回复
9
汽车电子|  楼主 | 2008-9-8 21:11 | 只看该作者

哪有时间研究汇编的三角函数和浮点呀

  HotPower大叔,本月26号有空不?想去拜访您。

使用特权

评论回复
10
hotpower| | 2008-9-8 21:24 | 只看该作者

哈哈~~~老师来了俺肯定有空~~~

使用特权

评论回复
11
王紫豪| | 2008-9-8 23:35 | 只看该作者

建议放个表

double 不是7位有效数字,例如 double x=0.12345678; x+=0.0000000001; 则x就是 0.1234567801

使用特权

评论回复
12
汽车电子|  楼主 | 2008-9-9 11:00 | 只看该作者

真的是7位有效数字

比如:定义 double Pi; 
      Pi = 3.14159265358979; 但实际使用过程中自动变成3.141593
      

使用特权

评论回复
13
zyok| | 2008-9-9 12:22 | 只看该作者

顶,也遇到这个问题...

使用特权

评论回复
14
hotpower| | 2008-9-9 12:49 | 只看该作者

看来俺要研究研究~~~

使用特权

评论回复
15
mohanwei| | 2008-9-9 19:42 | 只看该作者

那是编译器的问题了

c51就是一个明显的例子。

可以在编译器手册里搜一下“double”,看看有什么阐述……

使用特权

评论回复
16
王紫豪| | 2008-9-9 23:16 | 只看该作者

汽车电子请看

使用特权

评论回复
17
z4057| | 2008-9-10 09:26 | 只看该作者

keil C 把 double 全变成 float

我也碰到这个问题,现在在想用字符串运算代替 double 

使用特权

评论回复
18
mohanwei| | 2008-9-10 12:43 | 只看该作者

模拟笔算实现大数相乘……好像以前写过一个帖子

使用特权

评论回复
19
汽车电子|  楼主 | 2008-9-10 20:06 | 只看该作者

16楼,王兄弟,你是用什么编译器,什么CPU

   怎么我没有你那么幸福呀......

使用特权

评论回复
20
1248| | 2008-9-10 21:44 | 只看该作者

不够位乘以10的n次方

有时候如果精度不够,可以乘以10的n次方作为暂时的数值,用暂时的数值运算,再把结果除以10的m次方,m根据n和运算公式而定。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

366

主题

2057

帖子

5

粉丝