Wanto-Fly 2022-03-07 11:34 采纳率: 55.2%
浏览 37
已结题

C++ : RGB变量都设置保留四位小数

img


C++ : RGB接受变量计算后的结果如何设置都保留四位小数,有没有相关的计算函数或是其他的方法,请大家指教帮忙!

  • 写回答

2条回答 默认 最新

  • 赵4老师 2022-03-07 13:48
    关注

    double变量和常量在内部计算时都是自动保留15位十进制有效数字的。
    只有在输出时,才通过C++的setprecision(n)设置保留n位十进制有效数字输出。

    使用typeid显示变量的类型:
    参考下面:

    //char (*(*x[3])())[5];//x是什么类型的变量?
    //
    //分析C语言声明,关键是搞清楚这个变量是个什么东西(函数、指针、数组),
    //是函数那么剩下的就是他的参数和返回值,
    //是指针那剩下部分是说明他指向什么,
    //是数组剩下的部分就是说明数组的成员是什么类型。
    //解析C语言声明规则:
    //从左侧第一个标识符开始,按照优先级进行结合。*表示是..的指针,const表示只读的,volatile表示可变的,[]表示是数组,()表示是函数。
    //
    //x和[3]结合说明是一个大小为3的数组,该数组的每个元素为一类指针,该类指针指向一类函数,该类函数无参数,返回一类指针,该类指针指向一个大小为5的char型数组
    #include <stdio.h>
    #include <typeinfo.h>
    char num[5];
    char (*x00())[5] {
        return &num;
    }
    int main() {
        char (*(*x[3])())[5];//是个数组,大小为3
        char (*(*x0  )())[5];//数组的元素,是个函数指针
        char (*( x00 )())[5];//函数原型,参数为空,返回值为指针
        char (*  x000   )[5];//返回值
    
        x0 = x00;
        x[0] = x0;
        x[1] = x0;
        x[2] = x0;
        printf("typeid(x).name() is %s\n",typeid(x).name());
        return 0;
    }
    //typeid(x).name() is char (* (__cdecl**)(void))[5]
    
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月15日
  • 创建了问题 3月7日

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)