今週の始めに、やさしいC入門っていうのを買ってきたのですが
そのなかに、小さい型への代入と言うのがありキャストをしているのですが
サンプルでは
float a=10.5; int b; b=a;
みたいなことをやっています。 これだと、小数点以下が切り捨てられるだけなのですが
int a=100000; short int b; b=(short)a;
とすると、わけの分からない数字が出ます。
これは何故なのでしょうか? その本には小さい型に代入すると、情報が一部失われると書いていますが
全く違う数字になっています。