gpt4 book ai didi

c - C 中颜色的数据类型,我想要 double /浮点精度,但数字范围为 0-255

转载 作者:行者123 更新时间:2023-11-30 21:05:11 24 4
gpt4 key购买 nike

我用 C 编写了以下代码

typedef struct{
unsigned short R,G,B;
}Color;

我想创建一个具有 RGB 颜色范围的数据类型,但我也想让用户输入 1.5 或 55.5 等类似值。所以我想出了这个,但这允许从 0-255 的数字,而不提供浮点/ double 类型数字的精度。有没有一种方法可以实现这一点,例如用户可以输入 0.5,但如果将 Color 实例之一初始化为小于 0 或大于 255 的任何值,编译器会收到错误?

最佳答案

如果您想获取精确的值,您应该将 R,G,B 声明为 floatdouble,而不是 >无符号短

而且我不确定您想从编译器获得哪种类型的错误。如果你想打印给定的值超出范围,你可以简单地这样做:

if(value < 0 && value > 255){
printf("Value is out of range\n");
}

或者,如果您想抛出运行时错误,您可以这样做:

if(value < 0 && value > 255){
value = value/0;
}

如果值超出范围,value = value/0 将给出运行时错误。

如果您想了解有关 C 编程语言中抛出异常的更多信息,您可以查看 this link了解更多信息

关于c - C 中颜色的数据类型,我想要 double /浮点精度,但数字范围为 0-255,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55972925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com