質問

C ++で特定のデータ型に符号なしのキーワードデフォルトしていますか?私はプロトタイプのためのクラスの関数を記述しようとしています:

unsigned Rotate(unsigned object, int count)

しかし、私は本当に何unsigned手段得ることはありません。それはunsigned intか何かのようにするべきではないでしょうか。

役に立ちましたか?

解決

上記のリンクするから:

  

これらのタイプのいくつかは、長い、短い、符号なしの、署名されたキーワードを使用して変更することができ。これらのタイプの修飾子の一方が単独で使用される場合、INTのデータ型が想定されている

あなたは著者がint型を使用していると仮定できることをこの意味ます。

他のヒント

整数型ます:

short            -> signed short
signed short
unsigned short
int              -> signed int
signed int
unsigned int
signed           -> signed int
unsigned         -> unsigned int
long             -> signed long
signed long
unsigned long

文字のように注意してください:

char  (is signed or unsigned depending on the implmentation)
signed char
unsigned char
   C ++

のデータ型に符号なしのキーワードデフォルトをい

はい、符号付きおよび符号なしのスタンドアローン型としても使用することができる指定子

の整数データ型のchar、短い、長い整数のいずれかで表されるために必要な数値の範囲に応じて、符号付きまたは符号なしすることができます。 unsigned型のみ正の値(ゼロ)を表すことができ、一方、署名されたタイプは、正と負の両方の値を表すことができます。

は、n個のビットを含む符号なし整数0と2の間の値を持つことができ、 N - 1 (これは、2 N 異なる値である)。

はしかし、符号付きおよび符号なしは、それぞれ符号付き整数とunsigned int型と同じ意味、スタンドアロン型指定子としても使用することができます。以下の2つの宣言は等価です:

unsigned NextYear;
unsigned int NextYear;
はい、それはunsigned intを意味します。それはあなたがCのデータ型を指定しなかった場合、それだけでintを想定し、多くの場所があったことにするために使用しました。これは、関数の戻り値の型を、例えば、試しました。

このいぼは、ほとんどが根絶されていますが、あなたはここでその最後の名残が発生しています。私見では、コードは、あなたが経験している混乱のちょうどソートを避けるためにunsigned intを言うために修正する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top