C中的unsigned double?

时间:2015-09-07 01:40:25

标签: c struct

我需要在C结构中使用unsigned double,但我无法编译。 错误说明:对于`myvar'

,短,有符号或无符号无效

这是我的代码:

#include <stdlib.h>
#include <stdio.h>

struct eReg{
   int key;
   unsigned char a;
   unsigned short int b;
   unsigned double myvar;
   }MyReg;

有谁知道出了什么问题?

修改 我不知道&#34; unsigned double&#34;等于&#34; unsigned float&#34;,然后我不知道我必须找到我的问题的答案为&#34; C中的无符号浮点数?&#34;无论如何,在阅读帖子后,我已经接受了我的问题&#34;复制&#34;。我建议删除这个问题。

1 个答案:

答案 0 :(得分:4)

您不能拥有unisgned浮点类型。因此没有unsigned double或unsigned float。 unsigned只能应用于整数类型,如char short int和long。我们有无符号整数的原因是它们可以存储两倍大的数字,并且更适合处理二进制数据。我无法想到使用无符号浮点类型的优点。您可以获得更高的精度,但这可能不值得在硬件和软件中实现它。