今天调试的时候遇到两个问题:一个是用户想要显示包含正负的数值时,第一位只用来显示负号;另一个是需要将收到的二维矩阵转换成热力图。
都是C语言的问题,就不班门弄斧了。第一个直接百度“sprintf函数的使用”。其实只要在%f的“%”后直接加一个空格,问题解决。
这里把搜到的相关内容也一并贴出来:
sprintf格式的规格如下所示。[]中的部分是可选的。
%[指定参数][标识符][宽度][.精度]指示符
若想输出‘%‘本身时, 请使用‘%%‘处理。
1. 处理字符方向。负号时表示从后向前处理。
2. 填空字元。 0 的话表示空格填 0;空格是内定值,表示空格就放着。
3. 字符总宽度。为最小宽度。
4. 精确度。指在小数点后的浮点数位数。
另一个是要把二维矩阵转换成热力图的方式进行显示。刚开始是用if else结构实现的。后来想了想,这样的实现方式实在是低效,用NIOS跑得累死它。所以换了个思路,想到用映射表的方式去实现效率最高。于是建立一个大小为256的256色数组,提前将颜色信息写入。二维矩阵的数据通过本身的值作为地址去取256色数组的值再赋值给自己。这样通过一遍轮询就能完成二维矩阵的变换。剩下的时间NIOS就能专心处理显示的事情了。
时间: 2024-10-13 08:44:58