C中的无符号双精度?

Rob*_*avo 4 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;
Run Code Online (Sandbox Code Playgroud)

有谁知道出了什么问题?

编辑 我不知道“无符号双精度”等于“无符号浮点数”,然后我不知道我必须将问题的答案作为“C 中的无符号浮点数?” 无论如何,在阅读这篇文章后,我接受了我的问题“重复”。我建议删除这个问题。

cha*_*255 8

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