logo

型キャストと型変換の違い

2つの用語 型キャスト そしてその 型変換 は、あるデータ型を別のデータ型に変換するためにプログラムで使用されます。データ型の変換は、相互に互換性がある場合にのみ、コンパイラによって可能です。プログラミング言語における型キャストと型変換の違いについて説明します。

型キャストとは何ですか?

プログラミング言語のプログラム コードを作成する際に、プログラマまたはユーザーによってデータ型が別のデータ型に変換されるとき、そのメカニズムは次のように呼ばれます。 型キャスト 。プログラマはこれを手動で使用して、あるデータ型を別のデータ型に変換します。対象のデータ型を別のデータ型に変更する場合に使用します。宛先のデータ型はソースのデータ型より小さくなければならないことに注意してください。したがって、これはナローニング変換とも呼ばれます。

型キャストと型変換の違い

構文:

 Destination_datatype = (target_datatype) variable; (data_type) it is known as casting operator 

ターゲットデータタイプ: これは、宛先データ型を変換するデータ型です。変数は、target_data 型で変換される値を定義します。例を挙げて型キャストの概念を理解しましょう。

二分探索

を変換したいとします。 浮く データを入力します 整数 データ・タイプ。ここで、ターゲット データ型はソース データよりも小さくなります。 整数 は 2 バイトであり、そのサイズは 浮く データ型は4バイトです。そして、それを変更すると、float 変数の値は切り捨てられ、integer 変数に変換されます。キャストは、互換性のあるデータ型と互換性のないデータ型で実行できます。

 float b = 3.0; int a = (int) b; // converting a float value into integer 

C プログラムを通して型キャストを理解しましょう。

AreaOfRectangle.c

 #include #include void main() { printf('
 Welcome to Javatpoint tutorials '); float x = 3.5, y = 4.5; // the size of float variable is 4 byte. int area; // the size of the int variable is 2 bytes. area = (int) x * y; // after conversion the product converts into integer printf('
 Area of a Rectangle is : %d', area); printf('
 Here, we convert float data type into the Int data type'); getch(); } 

出力:

型キャストと型変換の違い

型変換とは何ですか?

コンパイル時にデータ型が別のデータ型に自動的に変換されることは、型変換と呼ばれます。両方のデータ型に互換性がある場合、変換はコンパイラによって実行されます。宛先のデータ型はソースの型より小さくてはいけないことに注意してください。としても知られています 広がる データ型の変換。

型キャストと型変換の違い

例を挙げて型変換を理解しましょう。

仮に、 整数 データ型を変換したい 浮く データ・タイプ。これらは数値型であり、int のサイズは 2 バイトと float データ型よりも小さいため、相互に互換性のあるデータ型です。したがって、コンパイラは、値を失ったり切り捨てたりすることなく、データ型を自動的に変換します。

 int a = 20; Float b; b = a; // Now the value of variable b is 20.000 /* It defines the conversion of int data type to float data type without losing the information. */ 

上記の例では、int データ型は int よりもサイズが大きい float に変換されるため、ソース データ型の幅が広がります。

C プログラムを通して型変換を理解しましょう。

 #include #include void main() { printf('
 Welcome to Javatpoint tutorials '); int x = 3, y = 4; // the size of int variable is 2 byte. float area; // the size of float variable is 4 bytes. area = x * y; /* It is a type conversion that automatically converted by the compiler at the compile time of a program. */ printf('
 Area of a Rectangle is : %f', area); printf('
 Here, we convert int data type to the float data type'); getch(); } 

出力:

型キャストと型変換の違い

型キャストと型変換の違い

S.N. 型鋳造 型変換
1 型キャストは、プログラマが Casting() 演算子を使用して、あるデータ型を別のデータ型に変換するメカニズムです。 型変換を使用すると、コンパイラはプログラムまたはコードのコンパイル時に、あるデータ型を別のデータ型に変換できます。
2 互換性のあるデータ型と互換性のないデータ型の両方を使用できます。 型変換は互換性のあるデータ型でのみ使用されるため、キャスト演算子は必要ありません。
3 プログラマは、あるデータを別の型に手動でキャストする必要があります。 プログラムの実行時にコンパイラが自動的にデータ型をコンパイルするため、あるデータ型を別のデータ型に変換するためにプログラマーの介入は必要ありません。
4 プログラマがプログラムを設計する際に使用します。 これはプログラムのコンパイル時に使用または実行されます。
5 あるデータ型を別のデータ型にキャストする場合、宛先のデータ型はソース データよりも小さい必要があります。 あるデータ型を別のデータ型に変換する場合、変換先のデータ型はソースのデータ型より大きくなければなりません。
6 1 つのより大きなデータ型がより小さなデータ型に変換されるため、これはナローニング変換とも呼ばれます。 1 つの小さなデータ型がより大きなデータ型に変換されるため、拡張変換とも呼ばれます。
7 より信頼性が高く効率的です。 効率も低く、信頼性も低くなります。
8 型キャストではデータや情報が失われる可能性があります。 型変換では、小さなデータ型から大きなデータ型に変換するときにデータが失われる可能性はほとんどありません。
8
float b = 3.0; int a = (int) b
int x = 5, y = 2, c; float q = 12.5, p; p = q/x;