整数にfloatを追加するときの整数型エラー

kk6axq

私はCを使用して組み込みデバイスに円描画グラフィックスを実装することに取り組んでいます。sinとcosの三角関数ルックアップテーブルを事前に計算し、それらをconstfloat配列として格納しました。使用しているIDE(MSP430のCode Composer Studio)は、ルックアップ配列の1つからnewXまたはnewY変数に値を追加しようとするとエラーをスローします。エラーメッセージには次のように記載されています。"../main.c", line 61: error #31: expression must have integral typeこれは次の行に対応します。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);
    }
}
P0W

明らかなアルゴリズムの問​​題は別として、

float配列のインデックスとして使用しいます

整数値を使用してください。いう、int i = 0;

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

符号なし整数型と符号付き整数型の追加に関する一般化

分類Dev

整数型からリストを作成する際の型エラー

分類Dev

符号付き整数型とそれに対応する符号なし整数型

分類Dev

このエラーをミュートするにはどうすればよいですか:「整数リテラルが大きすぎて符号付き整数型で表すことができません」

分類Dev

Pythonでfloatに整数を掛けるときの数学エラー

分類Dev

整数型自体で整数型のクラステンプレートを特殊化する方法は?

分類Dev

Laravelデータベースのクエリ結果から明らかに存在する整数型データにアクセスすると、エラー「stdClass型のオブジェクトを配列として使用できません」

分類Dev

Applescriptファイルを1つのフォルダから別のフォルダに移動する方法。整数型にできないエラー

分類Dev

整数型エラーにできない1700AppleScript

分類Dev

エラー:モジュラスを使用しようとしているときに、「式には整数型またはスコープなしの列挙型が必要です」

分類Dev

「文字列型と整数型のオペランドに演算子を適用できません」というエラーメッセージが表示されるのはなぜですか?

分類Dev

整数型と長型を混合するデータフロー

分類Dev

トーチで整数型行列を反転するとエラーが発生する

分類Dev

cosmos db idを整数型にオーバーライドできますか?

分類Dev

エラー:charは、ポインター間で符号の異なる整数型に変換します

分類Dev

トーチスクリプト拡張を構築しようとすると、無効な型になります。整数型引数型エラーとしてサポートされているのはint64_tとboolのみです。

分類Dev

なぜ私は、ジェネリック医薬品の整数の変数に整数型のパラメータを設定することで、エラーを取得していますか?

分類Dev

リテラルを整数型に制限する(XML / RDF)

分類Dev

Integer.parseIntエラーを返します。整数型のメソッドparseInt(String)は、引数(R.string)には適用できません。

分類Dev

エラー:「式には整数型またはスコープなしの列挙型が必要です」

分類Dev

PG :: DatatypeMismatch:エラー:列「ステータス」を整数型に自動的にキャストできません

分類Dev

列挙型のように機能する外部スキーム整数型と照合する方法

分類Dev

PDO getsqlエラーコード-整数型である必要があります

分類Dev

符号付き整数型と符号なし整数型の間で型キャストが可能かどうかを管理するルールがそれほど一貫していないのはなぜですか?

分類Dev

バイト型の値を整数型の値に変換する方法

分類Dev

C ++非型テンプレートパラメーター:整数型のtypedefは整数型ですか?

分類Dev

「シーケンスを「float」型の非整数で乗算できない」というエラーが表示されるのはなぜですか?

分類Dev

ActiveRecord :: StatementInvalid:PG :: NumericValueOutOfRange:エラー:値 "150000200000"は整数型の範囲外です

分類Dev

Pythonで整数型の列をdatetime型に変換する方法は?

Related 関連記事

  1. 1

    符号なし整数型と符号付き整数型の追加に関する一般化

  2. 2

    整数型からリストを作成する際の型エラー

  3. 3

    符号付き整数型とそれに対応する符号なし整数型

  4. 4

    このエラーをミュートするにはどうすればよいですか:「整数リテラルが大きすぎて符号付き整数型で表すことができません」

  5. 5

    Pythonでfloatに整数を掛けるときの数学エラー

  6. 6

    整数型自体で整数型のクラステンプレートを特殊化する方法は?

  7. 7

    Laravelデータベースのクエリ結果から明らかに存在する整数型データにアクセスすると、エラー「stdClass型のオブジェクトを配列として使用できません」

  8. 8

    Applescriptファイルを1つのフォルダから別のフォルダに移動する方法。整数型にできないエラー

  9. 9

    整数型エラーにできない1700AppleScript

  10. 10

    エラー:モジュラスを使用しようとしているときに、「式には整数型またはスコープなしの列挙型が必要です」

  11. 11

    「文字列型と整数型のオペランドに演算子を適用できません」というエラーメッセージが表示されるのはなぜですか?

  12. 12

    整数型と長型を混合するデータフロー

  13. 13

    トーチで整数型行列を反転するとエラーが発生する

  14. 14

    cosmos db idを整数型にオーバーライドできますか?

  15. 15

    エラー:charは、ポインター間で符号の異なる整数型に変換します

  16. 16

    トーチスクリプト拡張を構築しようとすると、無効な型になります。整数型引数型エラーとしてサポートされているのはint64_tとboolのみです。

  17. 17

    なぜ私は、ジェネリック医薬品の整数の変数に整数型のパラメータを設定することで、エラーを取得していますか?

  18. 18

    リテラルを整数型に制限する(XML / RDF)

  19. 19

    Integer.parseIntエラーを返します。整数型のメソッドparseInt(String)は、引数(R.string)には適用できません。

  20. 20

    エラー:「式には整数型またはスコープなしの列挙型が必要です」

  21. 21

    PG :: DatatypeMismatch:エラー:列「ステータス」を整数型に自動的にキャストできません

  22. 22

    列挙型のように機能する外部スキーム整数型と照合する方法

  23. 23

    PDO getsqlエラーコード-整数型である必要があります

  24. 24

    符号付き整数型と符号なし整数型の間で型キャストが可能かどうかを管理するルールがそれほど一貫していないのはなぜですか?

  25. 25

    バイト型の値を整数型の値に変換する方法

  26. 26

    C ++非型テンプレートパラメーター:整数型のtypedefは整数型ですか?

  27. 27

    「シーケンスを「float」型の非整数で乗算できない」というエラーが表示されるのはなぜですか?

  28. 28

    ActiveRecord :: StatementInvalid:PG :: NumericValueOutOfRange:エラー:値 "150000200000"は整数型の範囲外です

  29. 29

    Pythonで整数型の列をdatetime型に変換する方法は?

ホットタグ

アーカイブ