完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我使用MPLAB X 3.5和XC8 1.43。链接器内存选项设置为24位浮点。我想要一个32位浮点,但只针对一个变量,而不是所有的浮点变量。可以这样做吗?
以上来自于百度翻译 以下为原文 I'm using MPLAB X 3.5, and XC8 1.43. The linker memory options are set to 24 bit float. I want a 32 bit float, but just for a single variable, not for all my float variables. Can that be done? |
|
相关推荐
12个回答
|
|
用户指南中的“5.4.3浮点数据类型”部分表示,可以独立设置“浮点”和“double”的大小。要么是24,要么是32。
以上来自于百度翻译 以下为原文 Section "5.4.3 Floating-Point Data Types" in the User Guide says you can set the size of "float" and "double" independently. Either can be 24 or 32. |
|
|
|
是的,我看到了,谢谢。但是RHE手册并没有提到适用于所有浮动或所有双倍的编译器选项。我只需要一个浮点变量中的一个为32位。
以上来自于百度翻译 以下为原文 Yes I saw that, thanks. But isn't rhe manual talking about a compiler option that applies to all floats, or all doubles. I want just a single one of my float variables to be 32 bit. |
|
|
|
设置“浮点”为24,“double”为32,并使这一个变量“double”。你必须声明所有浮动的大小是相同的,所有的加倍是相同的。
以上来自于百度翻译 以下为原文 Set "float" to be 24, and "double" to be 32, and make just that one variable "double". You have to declare the size of all floats to be the same, and all doubles to be the same. |
|
|
|
我懂了。24位浮点和24位加倍没有区别吗?
以上来自于百度翻译 以下为原文 I see. Is there no difference between a 24 bit float and a 24 bit double? |
|
|
|
|
|
|
|
我已经改变了大部分浮动到双打,并设置浮动为32位的链接器选项,并加倍为24位。我有这个数据结构StutsType结构{ int t;浮动x x浮动y z浮动浮点A;浮点b;浮点C;浮点d;浮点E;浮点R;浮点G;浮点H;浮点i;int j;} MyStultTe:这些是程序中的唯一浮点。当以24位执行时,数据使用量为1329字节,当编译为32位时,数据使用率为1579。这似乎不正确。我想知道发生了什么,使用的程序字节从20837到29630。这是因为有十几个函数使用浮动来来回传递数据吗?
以上来自于百度翻译 以下为原文 I have changed most of the floats to doubles, and set floats as 32 bit in linker options, and doubles as 24 bit. I have this data structure typedef struct { int t; float x float y float z float a; float b; float c; float d; float e; float r; float g; float h; float i; int j; } myStruct These are the only floats in the program. When complied as 24 bit the data usage is 1329 bytes, and when compiled as 32 bits the data usage is 1579. That doesn't seem correct. I wonder what is happening. Program bytes used goes from 20837 to 29630. Is that because of the dozen or so functions that are using the floats to pass data back and forth? |
|
|
|
FP函数需要更多的RAM和Flash来处理较大的变量。再加上编译过的堆栈。FP是昂贵的(和缓慢的),这就是为什么通常努力将FP CALCS转换为固定的。
以上来自于百度翻译 以下为原文 More ram and Flash are needed by FP functions to process the larger variables. Plus more compiled stack. FP is expensive (and slow) which is why effort is usually made to convert FP calcs to fixed. |
|
|
|
使用2种漂浮物将比使用单一种类的浮游植物大。
以上来自于百度翻译 以下为原文 Using 2 kinds on floats will be larger than using a single kind of float. |
|
|
|
这可能是个问题,因为语言标准自1989以来就已经要求了(double)& gt;= sieof(浮点)。
以上来自于百度翻译 以下为原文 That's likely to be a problem, since the language standard has required sizeof(double) >= sizeof(float) since 1989. |
|
|
|
这可能是个问题,因为语言标准自1989以来就要求DigsisieOf(double)& gt;= sieof(浮点)。我猜OP忽略编译器警告。@ OP:如果您真的需要浮点,只使用所有的32位。
以上来自于百度翻译 以下为原文 That's likely to be a problem, since the language standard has required sizeof(double) >= sizeof(float) since 1989. I guess OP ignored the compiler warning. @OP: If you really needed floating point, just use all 32-bit. |
|
|
|
我很好奇为什么OP是这样的,当最初的建议是让浮动24位和双倍32位。
以上来自于百度翻译 以下为原文 I'm curious why the OP went that way, when the original advice was to make floats 24 bit and doubles 32 bit. |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
5223 浏览 9 评论
2024 浏览 8 评论
1949 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3198 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2252 浏览 5 评论
769浏览 1评论
655浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
583浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
667浏览 0评论
569浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-16 20:52 , Processed in 1.683470 second(s), Total 98, Slave 82 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号