私はC#でプログラミングしています。sbyte 変数があります。バイナリで11110110である-10を保持しているとします。この値のバイナリ表現をバイト変数に格納したいと思います。したがって、sbyte (-10) をバイトにコピーすると、バイト値は 245 になります。Convert.ToByte(sbyte) を使用しようとすると、意味のある例外がスローされます。ある型から別の型に変換したくはありませんが、ビットごとのコピーを作成します。どうやってやるの?
2155 次
2 に答える
11
キャストするだけです:
byte b = (byte) x;
コードがチェックされたコンテキストで通常実行されている場合は、この操作をチェックしないようにする必要があります。
byte b = unchecked((byte) x);
-10 は 245 ではなく 246 になることに注意してください。
于 2010-06-11T13:42:41.990 に答える
2
キャストするだけです:
byte b = 130;
sbyte a = (sbyte)b;
byte c = (byte)a; // will still be 130
于 2010-06-11T13:43:39.307 に答える