#C言語のデータ型変換方法
データ型変換とは、データ(変数、値、式の結果)を変換することです。 、など)あるタイプから別のタイプへ。
自動型変換
自動型変換は、コンパイラによってサイレント、暗黙的、秘密裏に実行されるデータ型変換です。この変換にはプログラマの介入は必要ありません。自動的に起こります。
1) ある型のデータが別の型の変数に代入されると、自動型変換が行われます。例:
100 は int 型データなので、float 型のみに変換する必要があります変数 f に代入できます。別の例:
f は float 型のデータであり、変数 n に割り当てる前に int 型に変換する必要があります。
代入演算において、代入番号の両側のデータ型が異なる場合、右側の式の型を左側の変数の型に変換する必要があり、データの歪みや精度の低下があるため、自動入力変換は必ずしも安全であるとは限りません。コンパイラは通常、安全でない型変換に対して警告を出します。
2) 異なる型の混合演算では、コンパイラはデータ型も自動的に変換し、まず演算に関係するすべてのデータを同じ型に変換してから計算を実行します。変換規則は以下のとおりです。
値が崩れたり、精度が低下したりしないように、データ長が長くなる方向に変換します。例えば、intとlongの演算を行う場合、int型のデータをlong型に変換してから演算を行います。
浮動小数点演算はすべて倍精度で行われるため、float 型しかない場合でも double 型に変換してから演算を行う必要があります。
char と short が演算に関与する場合、最初にそれらを int 型に変換する必要があります。
次の図は、この変換ルールをより明確に示しています:
unsigned は unsigned int でもあります。このとき、int を省略して、単に unsigned と記述することもできます。
自動型変換例:
#include<stdio.h>
int main(){
float PI = 3.14159;
int s1, r = 5;
double s2;
s1 = r * r * PI;
s2 = r * r * PI;
printf("s1=%d, s2=%f\n", s1, s2);
return 0;
}
ログイン後にコピー
実行結果:
s1=78, s2=78.539749
ログイン後にコピー
式 r*r*PI を計算すると、r と PI の両方が double 型に変換され、次のように表現されます。式の結果も double 型になります。ただし、s1 は整数であるため、代入演算の結果も整数のままで、小数部分が切り捨てられ、データの歪みが発生します。
プログラミング関連のコンテンツの詳細については、php 中国語 Web サイトの
プログラミング入門 列に注目してください。
以上がC言語のデータ型変換方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。