2

私はXcode(Objective-C)を使用しています。

なぜ私は持っていないのshort floatですか?エラーが発生します'short float' is invalid

4

3 に答える 3

3

shortlongは整数の場合、floatの場合はとに相当しhalfますdoublehalfただし、Objective-Cでは使用できません(プロセッサには半分の長さのフロートを処理するための命令がありません)が、GLSLなどの一部のGPU言語で見つけることができます。

于 2012-05-07T17:46:46.993 に答える
3

次のようなビットフィールドを使用して、短いフロートを実装できます。

typedef struct shortFloat {
    char sign : 1;
    char exponent : 5;
    short significand : 10;
} shortFloat;

shortFloat shortFloat_add(shortFloat s1, shortFloat s2);
shortFloat shortFloat_sub(shortFloat s1, shortFloat s2);
shortFloat shortFloat_mul(shortFloat s1, shortFloat s2);
shortFloat shortFloat_div(shortFloat s1, shortFloat s2);

ただし、独自の浮動小数点演算を作成する必要があります。

また、ARMターゲット(iPhoneを含む)では、半精度浮動小数点値を使用できます。GCCのドキュメントをここで読んでください:http://gcc.gnu.org/onlinedocs/gcc/Half_002dPrecision.html

于 2012-05-07T17:45:33.253 に答える
0

私はCベースの言語で短いフロートを見たことがありません。

short int存在しますが、short floatリチャードが指摘したように意味がありません。

于 2012-05-07T17:43:18.710 に答える