もう一方を unsigned int 型に変換 ただし、long型とunsigned int型の演算で unsigned int型に格納されている値がlongで表せない場合はunsigned longに変換されます 代入型変換 ひとつの式の内部での型変換は理解できましたね では、さらにその評価の結果をある変数に代入するときはどうでしょうか? これも式同様に、必ずしも同じ方の変数に代入されるとは限りませんね C言語では、代入にも型のちがう場合は変換して代入されます このとき左辺のサイズが右辺の型より大きい場合は何の問題もありません #include <stdio.h> int main() { unsigned char var1 = 128; int var2 = var1; printf("%d",var2); return 0; } この場合はchar型変数 var1 がint型変数