4

私はC#言語を読み始めたばかりで、読み物の最初のセクションの1つは、当然、変数と型です。

短い順序で、、、、、、、、、、、およびをリストsbyteした整数型テーブルに出くわしました。ここでのペアリングの例外はですので、それを無視して他のペアリングを見てみましょう。byteshortushortintuintlongulongcharchar

最初のペアであるbyte、は、署名されたバージョンの前に「s」を付け、署名されていないバージョンには接頭辞を付けません。ただし、他のすべてのペアでは、関係が逆になります...符号付きバージョンにはプレフィックスがなく、符号なしバージョンには「u」プレフィックスが付いています。

これには私が知っておくべき理由がありますか、それともこれは単なる設計上の癖ですか?

参照用のリンク:http://msdn.microsoft.com/en-us/library/exx3b86w.aspx

4

2 に答える 2

13

通常、バイトは通常の数値ではなくビットのパターンとして扱われ、バイトの「標準」値は0〜255です。バイトの符号付きバージョンは異常なケースであり、値は-128〜127として扱われます。

他のすべての数値タイプの場合、「標準」値は符号付きです。これは、数値に関する日常の直感と一致するためです(つまり、数値は負でも正でもかまいません)。数値タイプの場合、符号なしバージョンは異常なケースです。

(実際のコードで使用したことはないと思います。署名されていないコードを使用するよりも、などを頻繁に使用します。)sbyteintlong

于 2009-08-28T12:13:12.813 に答える
4

おそらく、符号付き型ではなく符号なし型としてbyte使用される方がはるかに一般的だと思います。

于 2009-08-28T12:10:33.143 に答える