型の変換

C

整数どおしで計算をすると、結果は整数になる。

3 / 2 = 1

正確に小数点まで出力する場合は、実数表記にして、計算する。

3.0 / 2.0 = 1.5

整数の計算と、実数の計算で、結果が異なることを確認。

#include <stdio.h>
int main()
{
	printf("3 ÷ 2 = %d \n", 3/2);
	printf("3 ÷ 2 = %f \n", 3.0/2.0);
	printf("3 ÷ 2 = %f \n", 3.0/2);
	printf("3 ÷ 2 = %f \n", 3/2.0);
}

整数どうしの演算では、一番範囲の広い型に変換される。
例えば下記の結果は

short s = 536;
char c = 12;
int a = s + c;

答えは548となり、charの型は-128~127として扱われるが、short型として計算される。

■異なる制度の型どうしの代入

unsigned char c = 1000; //オーバーフローし、上位2ビットが処理されない為、1000にはならない。
unsigned char c = -3; //符号なしの変数に符号付きの値をいれても、符号が解釈されない。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です