- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 C 在嵌入式设备上实现圆形绘制图形。我已经预先计算了 sin 和 cos 的三角查找表,并将它们存储为 const float 数组。每当我尝试将查找数组之一中的值添加到 newX
或 newY
变量时,我使用的 IDE(适用于 MSP430 的 Code Composer Studio)都会引发错误。错误消息指出:“../main.c”,第 61 行:错误 #31:表达式必须具有整数类型
,对应于此行:newX = (int) (newX + cosTable[i]);
完整代码:
#include <msp430.h>
#include "OLED.h"
#include "math.h"
#include "graphics.h"
void graphics_circle(int x, int y, int radius);
void main(void) {
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
init();
Delay_ms(1000);
graphics_circle(32, 32, 16);
while(1)
{
}
}
const float sinTable[] = {0.0, 0.018, 0.035, 0.053, 0.07, 0.088, 0.105, 0.122, 0.14, 0.157, 0.174, 0.191, 0.208, 0.225, 0.242, 0.259, 0.276, 0.293, 0.31, 0.326, 0.343, 0.359, 0.375, 0.391, 0.407, 0.423, 0.439, 0.454, 0.47, 0.485, 0.5, 0.516, 0.53, 0.545, 0.56, 0.574, 0.588, 0.602, 0.616, 0.63, 0.643, 0.657, 0.67, 0.682, 0.695, 0.708, 0.72, 0.732, 0.744, 0.755, 0.767, 0.778, 0.789, 0.799, 0.81, 0.82, 0.83, 0.839, 0.849, 0.858, 0.867, 0.875, 0.883, 0.892, 0.899, 0.907, 0.914, 0.921, 0.928, 0.934, 0.94, 0.946, 0.952, 0.957, 0.962, 0.966, 0.971, 0.975, 0.979, 0.982, 0.985, 0.988, 0.991, 0.993, 0.995, 0.997, 0.998, 0.999, 1.0, 1.0, 1.0, 1.0, 1.0, 0.999, 0.998, 0.997, 0.995, 0.993, 0.991, 0.988, 0.985, 0.982, 0.979, 0.975, 0.971, 0.966, 0.962, 0.957, 0.952, 0.946, 0.94, 0.934, 0.928, 0.921, 0.914, 0.907, 0.899, 0.892, 0.883, 0.875, 0.867, 0.858, 0.849, 0.839, 0.83, 0.82, 0.81, 0.799, 0.789, 0.778, 0.767, 0.755, 0.744, 0.732, 0.72, 0.708, 0.695, 0.682, 0.67, 0.657, 0.643, 0.63, 0.616, 0.602, 0.588, 0.574, 0.56, 0.545, 0.53, 0.516, 0.5, 0.485, 0.47, 0.454, 0.439, 0.423, 0.407, 0.391, 0.375, 0.359, 0.343, 0.326, 0.31, 0.293, 0.276, 0.259, 0.242, 0.225, 0.208, 0.191, 0.174, 0.157, 0.14, 0.122, 0.105, 0.088, 0.07, 0.053, 0.035, 0.018, 0.001, -0.017, -0.034, -0.052, -0.069, -0.087, -0.104, -0.121, -0.139, -0.156, -0.173, -0.19, -0.207, -0.224, -0.241, -0.258, -0.275, -0.292, -0.309, -0.325, -0.342, -0.358, -0.374, -0.39, -0.406, -0.422, -0.438, -0.453, -0.469, -0.484, -0.5, -0.515, -0.529, -0.544, -0.559, -0.573, -0.587, -0.601, -0.615, -0.629, -0.642, -0.656, -0.669, -0.681, -0.694, -0.707, -0.719, -0.731, -0.743, -0.754, -0.766, -0.777, -0.788, -0.798, -0.809, -0.819, -0.829, -0.838, -0.848, -0.857, -0.866, -0.874, -0.882, -0.891, -0.898, -0.906, -0.913, -0.92, -0.927, -0.933, -0.939, -0.945, -0.951, -0.956, -0.961, -0.965, -0.97, -0.974, -0.978, -0.981, -0.984, -0.987, -0.99, -0.992, -0.994, -0.996, -0.997, -0.998, -0.999, -0.999, -1.0, -0.999, -0.999, -0.998, -0.997, -0.996, -0.994, -0.992, -0.99, -0.987, -0.984, -0.981, -0.978, -0.974, -0.97, -0.965, -0.961, -0.956, -0.951, -0.945, -0.939, -0.933, -0.927, -0.92, -0.913, -0.906, -0.898, -0.891, -0.882, -0.874, -0.866, -0.857, -0.848, -0.838, -0.829, -0.819, -0.809, -0.798, -0.788, -0.777, -0.766, -0.754, -0.743, -0.731, -0.719, -0.707, -0.694, -0.681, -0.669, -0.656, -0.642, -0.629, -0.615, -0.601, -0.587, -0.573, -0.559, -0.544, -0.529, -0.515, -0.5, -0.484, -0.469, -0.453, -0.438, -0.422, -0.406, -0.39, -0.374, -0.358, -0.342, -0.325, -0.309, -0.292, -0.275, -0.258, -0.241, -0.224, -0.207, -0.19, -0.173, -0.156, -0.139, -0.121, -0.104, -0.087, -0.069, -0.052, -0.034, -0.017, -0.0, };
const float cosTable[] = {1.0, 1.0, 1.0, 0.999, 0.998, 0.997, 0.995, 0.993, 0.991, 0.988, 0.985, 0.982, 0.979, 0.975, 0.971, 0.966, 0.962, 0.957, 0.952, 0.946, 0.94, 0.934, 0.928, 0.921, 0.914, 0.907, 0.899, 0.892, 0.883, 0.875, 0.867, 0.858, 0.849, 0.839, 0.83, 0.82, 0.81, 0.799, 0.789, 0.778, 0.767, 0.755, 0.744, 0.732, 0.72, 0.708, 0.695, 0.682, 0.67, 0.657, 0.643, 0.63, 0.616, 0.602, 0.588, 0.574, 0.56, 0.545, 0.53, 0.516, 0.501, 0.485, 0.47, 0.454, 0.439, 0.423, 0.407, 0.391, 0.375, 0.359, 0.343, 0.326, 0.31, 0.293, 0.276, 0.259, 0.242, 0.225, 0.208, 0.191, 0.174, 0.157, 0.14, 0.122, 0.105, 0.088, 0.07, 0.053, 0.035, 0.018, 0.001, -0.017, -0.034, -0.052, -0.069, -0.087, -0.104, -0.121, -0.139, -0.156, -0.173, -0.19, -0.207, -0.224, -0.241, -0.258, -0.275, -0.292, -0.309, -0.325, -0.342, -0.358, -0.374, -0.39, -0.406, -0.422, -0.438, -0.453, -0.469, -0.484, -0.499, -0.515, -0.529, -0.544, -0.559, -0.573, -0.587, -0.601, -0.615, -0.629, -0.642, -0.656, -0.669, -0.681, -0.694, -0.707, -0.719, -0.731, -0.743, -0.754, -0.766, -0.777, -0.788, -0.798, -0.809, -0.819, -0.829, -0.838, -0.848, -0.857, -0.866, -0.874, -0.882, -0.891, -0.898, -0.906, -0.913, -0.92, -0.927, -0.933, -0.939, -0.945, -0.951, -0.956, -0.961, -0.965, -0.97, -0.974, -0.978, -0.981, -0.984, -0.987, -0.99, -0.992, -0.994, -0.996, -0.997, -0.998, -0.999, -0.999, -1.0, -0.999, -0.999, -0.998, -0.997, -0.996, -0.994, -0.992, -0.99, -0.987, -0.984, -0.981, -0.978, -0.974, -0.97, -0.965, -0.961, -0.956, -0.951, -0.945, -0.939, -0.933, -0.927, -0.92, -0.913, -0.906, -0.898, -0.891, -0.882, -0.874, -0.866, -0.857, -0.848, -0.838, -0.829, -0.819, -0.809, -0.798, -0.788, -0.777, -0.766, -0.754, -0.743, -0.731, -0.719, -0.707, -0.694, -0.681, -0.669, -0.656, -0.642, -0.629, -0.615, -0.601, -0.587, -0.573, -0.559, -0.544, -0.529, -0.515, -0.5, -0.484, -0.469, -0.453, -0.438, -0.422, -0.406, -0.39, -0.374, -0.358, -0.342, -0.325, -0.309, -0.292, -0.275, -0.258, -0.241, -0.224, -0.207, -0.19, -0.173, -0.156, -0.139, -0.121, -0.104, -0.087, -0.069, -0.052, -0.034, -0.017, -0.0, 0.018, 0.035, 0.053, 0.07, 0.088, 0.105, 0.122, 0.14, 0.157, 0.174, 0.191, 0.208, 0.225, 0.242, 0.259, 0.276, 0.293, 0.31, 0.326, 0.343, 0.359, 0.375, 0.391, 0.407, 0.423, 0.439, 0.454, 0.47, 0.485, 0.501, 0.516, 0.53, 0.545, 0.56, 0.574, 0.588, 0.602, 0.616, 0.63, 0.643, 0.657, 0.67, 0.682, 0.695, 0.708, 0.72, 0.732, 0.744, 0.755, 0.767, 0.778, 0.789, 0.799, 0.81, 0.82, 0.83, 0.839, 0.849, 0.858, 0.867, 0.875, 0.883, 0.892, 0.899, 0.907, 0.914, 0.921, 0.928, 0.934, 0.94, 0.946, 0.952, 0.957, 0.962, 0.966, 0.971, 0.975, 0.979, 0.982, 0.985, 0.988, 0.991, 0.993, 0.995, 0.997, 0.998, 0.999, 1.0, 1.0, 1.0, };
void graphics_init(){
OLED_Init();
}
void graphics_circle(int x, int y, int radius){
float i = 0;
int newX = 0;
int newY = 0;
for(i = 0; i < 360; i+=1){
newX = x;
newX = (int) (newX + cosTable[i]);
//newX = x + (int)cosTable[i];//*radius);
//newY = y + (int)sinTable[i];//*radius);
OLED_DrawPoint(newX, newY, 0);
}
}
最佳答案
除了明显的算法问题之外,
您正在使用 float
作为数组索引。
使用整数值。比如说,int i = 0;
关于c - 将 float 与整数相加时出现整数类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53245905/
我知道可以创建 object.__mul__(self, other)启用两个对象的自定义乘法的方法。然而,正如 python 文档中所解释的那样, to evaluate the expressio
我无法找到一种好方法来查找列中的所有负条目并将它们向上移动到列中,将它们与现有条目相加(即从当前条目中减去负条目),直到所有值都是正值。 重要的是,最终数据帧没有负值 & 所有以前的负条目 = 0。此
我想将 var string 中的所有元素相加。我确实尝试过这个,但现在我想对每个元素都这样做。 var operator = document.getElementById("operation")
“任何长度的正数表示为数字字符数组,因此介于‘0’和‘9’之间。我们知道最重要的密码位于数组索引 0 的位置。 例子: - 号码是 10282 - 数组将是数字 = [1,0,2,8,2] 考虑到这一
这是我的查询: UPDATE qanda SET amount = amount + 1000 WHERE id = ? AND type = 0; 默认情况下, amount 列为 null,当我执
不同列的值为1时,每列加10分。 要求将累加的结果汇总到表格的一列中。但总分不得超过20分。因此,如果总和达到 30,列中的结果将始终为 20。 SELECT CASE WHE
public static void main(String[] args) { Vector vec = new Vector(); vec.add(new
我正在尝试使用 js 或 jquery 将 +20,2 添加到带有点 9990.95 的总和或带有逗号 9990,95 的总和 9990.95 var price = $( '.sum' ).text
我如何编写一个函数来将二维数组中每一行的内容相加?要添加每一列的内容?我的代码(到目前为止): #include using namespace std; const int QUARTER = 4
这个问题在这里已经有了答案: Count the number of set bits in a 32-bit integer (65 个答案) 关闭 8 年前。 我有这段代码可以获取数字的二进制表
创建了一个 Div,在其中我有 label 元素和 input 元素,我想在每个 div 中获得不同的标签值。如何重用我的 div 组件而不是再次编写相同的代码。 我尝试在 Stackoverflow
所以我在构建代码时遇到了这个问题。这个问题 This work is based on operator overloading, you need to build a string calcula
为了好玩并进一步了解 float 的工作原理,我尝试制作一个函数,它接受两个单精度 float ,并将它们相加。 到目前为止,我所做的对于相同符号的数字非常有效,但当数字具有相反的符号时,它就会分崩离
我想添加两个 map 以及以下行为。 如果键存在 -> 将两个键值相加。 如果键不存在 -> 插入对映射。 我看过一些标准库算法。即转换,但似乎没有做我想要的。 取自此LINK template
我的程序中有两个整数;我们称它们为“a”和“b”。我想将它们加在一起并得到另一个整数。这些是常规的 Python int 对象。我在想;我如何将它们与 Twisted 一起添加?某处是否有特殊的 pe
因此,我必须创建这个程序,从文件中读取多个“工资”,然后将所有工资相加以返回一个“总工资”,并计算所有工资的平均值。 我目前拥有的代码如下: package uploadTask7_countingS
我的结果是这样的: +-------+--------+--------+-----+--------------+ | Count | Equipe | IdTeam | Id | Nam
我有以下数据框: df2 = pd.DataFrame({'season':[1,1,1,2,2,2,3,3],'value' : [-2, 3,1,5,8,6,7,5], 'avail':[3,3,
所以我正在过滤数据(所有字符串),并希望显示以下内容: 第一个字母包含您的搜索的搜索词(例如,在搜索 'Br' 时,我想查看所有以 'Br' 开头的词,例如 Break , 坏了,...) 字符串中包
我试图通过以下关系(仅显示父级)来说明一对多关系的总和: @Entity @Table(name = "Parent") public class Parent implements Serializ
我是一名优秀的程序员,十分优秀!