1

私の質問は、この割り当てが c# でどのように行われるかということです。つまり、答え 1 (257) をどのように計算し、0 (256) をどのように計算するのでしょうか?

コードは次のとおりです。

int intnumber=257;
byte bytenumber=(byte)intnumber;//the out put of this code is 1

int intnumber=256;
byte bytenumber=(byte)intnumber;//the out put of this code is 0

私の質問は、最初のコードの出力が:1 で、2 番目のコードの出力が:0 であるということです。

4

5 に答える 5

8

1 バイトは 255 までしかありません。コードは、256 の場合は 0 に、257 の場合は 1 にラップします。

最も重要なビットは破棄され、残りは残ります。

于 2013-08-06T22:39:05.920 に答える
1

バイト値の算術オーバーフロー (最大 255) が 2 単位を超えるため、1 が割り当てられます。

1単位超えるので0を代入。

于 2013-08-06T22:41:02.277 に答える
0

データ型にはbyte0 から 255 までの数値が含まれます。 を に変換する場合、int256 をbyte法として数値が計算されます。

byte = int % 256
于 2013-08-06T22:39:59.617 に答える