【C#】byte同士の演算結果はint型になります
教科書では同じ型の算術演算の結果はその型になります・・・と表示されていると思います
次の整数型の場合の演算結果はint型となります
サンプルコード(エラー)
エラーが起こるコード
byte a = 100;
byte b = 10;
byte c = a / b;
Console.WriteLine(c);
Visual Studio の画面
対応
byte同士では演算前にそれぞれがint型に変換され、演算結果もint型になります(仕様)
よって、演算結果をbyte堅にしたい場合は、結果をキャストする必要があります
byte a = 100;
byte b = 10;
byte c = (byte)(a / b);
Console.WriteLine(c);
情報の確認
マイクロソフトのページから確認できます
オペランドが他の整数型 (
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/arithmetic-operatorssbyte
、byte
、short
、ushort
、char
) のときは、それらの値はint
型に変換され、演算の結果もその型になります。
ディスカッション
コメント一覧
まだ、コメントがありません