タグ付けされた質問 「unsigned」

符号なし変数は、負でない数のみを表すことができる変数です。


17
std :: vectorの反復:符号なしvs符号付きインデックス変数
C ++でベクトルを反復処理する正しい方法は何ですか? 次の2つのコードフラグメントを検討してください。これは正常に機能します。 for (unsigned i=0; i < polygon.size(); i++) { sum += polygon[i]; } そしてこれ: for (int i=0; i < polygon.size(); i++) { sum += polygon[i]; } を生成しwarning: comparison between signed and unsigned integer expressionsます。 私はC ++の世界で新しいので、unsigned変数は少し恐ろしいように見え、unsigned正しく使用しないと変数が危険である可能性があることを知っています。これは正しいですか?
470 c++  stl  unsigned  signed 

15
符号付き整数と符号なし整数
符号付き整数と符号なし整数の違いは次のとおりです。 符号なしは、より大きな正の値を保持でき、負の値は保持できません。 符号なしでは、先頭ビットを値の一部として使用しますが、符号付きバージョンでは、左端のビットを使用して、数値が正か負かを識別します。 符号付き整数は、正数と負数の両方を保持できます。 他に違いはありますか?

16
Javaがunsigned intをサポートしないのはなぜですか?
Javaに符号なし整数のサポートが含まれていないのはなぜですか? 予想外に大きな入力でオーバーフローが発生する可能性が低いコードを記述できることを考えると、私には奇妙な省略のようです。 さらに、符号なし整数を使用すると、unsigned intが保持することを意図していた値が負になることは決してないことが示されているため、自己文書化の一種になる可能性があります。 最後に、場合によっては、除算などの特定の演算では符号なし整数の方が効率的です。 これらを含めることの欠点は何ですか?

8
Cで「unsigned long」を印刷する方法は?
unsigned longCでデータ型を出力する方法を理解できません。 がであるunsigned_fooとするunsigned longと、私は試してみます: printf("%lu\n", unsigned_foo) printf("%du\n", unsigned_foo) printf("%ud\n", unsigned_foo) printf("%ll\n", unsigned_foo) printf("%ld\n", unsigned_foo) printf("%dl\n", unsigned_foo) そして、それらすべては私が持っているものの-123123123代わりにある種の数を印刷しunsigned longます。

11
Javaでのunsigned intの宣言
Javaでunsigned intを宣言する方法はありますか? または、質問も次のように構成されます。Javaのunsignedに相当するものは何ですか? ちょうど私がJavaの実装を見ていたコンテキストをあなたに伝えるためにString.hashcode()。整数が32の符号なし整数の場合、衝突の可能性をテストしたかったのです。
316 java  integer  unsigned 

16
Javaで符号なしバイトを作成できますか
符号付きバイトを符号なしに変換しようとしています。問題は、受信しているデータが符号なしであり、Javaが符号なしバイトをサポートしていないため、データを読み取るときに、そのデータを符号付きとして処理することです。 Stack Overflowから入手した次の解決策で変換してみました。 public static int unsignedToBytes(byte a) { int b = a & 0xFF; return b; } しかし、再びバイトに変換すると、同じ署名データが得られます。このデータを、バイトのみをパラメーターとして受け入れるJavaの関数へのパラメーターとして使用しようとしているため、他のデータ型は使用できません。この問題を解決するにはどうすればよいですか?
185 java  unsigned 

12
Cに符号なし浮動小数点数がないのはなぜですか?
質問は奇妙なようです。プログラマーは時々考えすぎます。読んでください... CIでは整数signedとunsigned整数を使用します。符号なし整数に符号付き整数を割り当てるなどのことを行うと、コンパイラーが警告するという事実が気に入っています。符号付き整数と符号なし整数などを比較すると、警告が表示されます。 私はこれらの警告が好きです。彼らは私が私のコードを正しく保つのを助けます。 フロートに同じ贅沢をしてみませんか?平方根が絶対に負の数を返すことは決してありません。負の浮動小数点値が意味をなさない他の場所もあります。符号なしフロートの完璧な候補。 ところで-私は、浮動小数点数から符号ビットを削除することで得られる精度の1つの余分なビットにあまり興味がありません。float彼らは今であるので、私はsにとても満足しています。浮動小数点を符号なしとしてマークし、整数で取得するのと同じ種類の警告を取得したいだけです。 符号なし浮動小数点数をサポートするプログラミング言語については知りません。 それらが存在しない理由は何ですか? 編集: x87 FPUには、符号なし浮動小数点数を処理するための命令がないことを知っています。署名されたfloat命令を使用できます。誤用(たとえば、ゼロ未満になる)は、符号付き整数のオーバーフローが未定義であるのと同じように、未定義の動作と見なすことができます。


7
size_tとunsigned intの違いは?
私はとても混乱していsize_tます。私はインターネットで検索しましたが、どこでもsize_t符号なしの型であるため、負ではない値しか表すことができません。 私の最初の質問は、非負の値のみを表すために使用する場合、unsigned int代わりに使用しないのはなぜsize_tですか? 私の2番目の質問です:あるsize_tとunsigned int交換可能かどうか?そうでない場合、なぜですか? そして、誰かが私size_tにその良い例を簡単に教えてくれますか?
107 c  types  unsigned 


4
符号なし整数減算は動作が定義されていますか?
結果が負になる場合に、同じ型の別の整数から符号なし整数を減算する問題があると信じているように見える誰かからコードを見つけました。したがって、このようなコードは、たまたまほとんどのアーキテクチャで機能しても、正しくありません。 unsigned int To, Tf; To = getcounter(); while (1) { Tf = getcounter(); if ((Tf-To) >= TIME_LIMIT) { break; } } これは、私が見つけたC標準からの漠然とした関連性のある唯一の引用です。 結果の符号なし整数型で表すことができない結果は、結果の型で表すことができる最大値よりも1大きい数を法として減じられるため、符号なしオペランドを伴う計算は決してオーバーフローできません。 右のオペランドが大きい場合、モジュロトランケートされた数値のコンテキストで意味がわかるように操作が調整されることを意味するために、その引用を使用できると思います。 すなわち 0x0000-0x0001 == 0x 1 0000-0x0001 == 0xFFFF 実装に依存する署名されたセマンティクスを使用するのとは対照的に: 0x0000-0x0001 ==(符号なし)(0 + -1)==(0xFFFF、ただし0xFFFEまたは0x8001) どちらの解釈が正しいですか?それはまったく定義されていますか?

2
C ++ 20でstd :: ssize()が導入されたのはなぜですか?
C ++ 20std::ssize()は以下のように無料関数を導入しました: template <class C> constexpr auto ssize(const C& c) -> std::common_type_t<std::ptrdiff_t, std::make_signed_t<decltype(c.size())>>; 可能な実装はcl ass Cのメンバー関数のstatic_cast戻り値を対応する符号付きに変換するためにを使用しているようです。size() size()C のメンバー関数は常に非負の値を返すので、なぜ誰かがそれらを符号付き変数に格納したいのでしょうか?本当に望んでいる場合、それは単純な問題ですstatic_cast。 なぜstd::ssize()C ++ 20で導入されたのですか?
99 c++  stl  unsigned  signed  c++20 

7
符号なしデータ型とは何ですか?
このunsigned「タイプレス」タイプが数回使用されているのを見たことがありますが、その説明は見たことがありません。対応するsignedタイプがあると思います。次に例を示します。 static unsigned long next = 1; /* RAND_MAX assumed to be 32767 */ int myrand(void) { next = next * 1103515245 + 12345; return((unsigned)(next/65536) % 32768); } void mysrand(unsigned seed) { next = seed; } これまでに収集したもの: -私のシステムではsizeof(unsigned) = 4(32ビットのunsigned intでヒント) -別の型をunsignedバージョンにキャストするための省略形として使用される可能性があります: signed long int i = -42; printf("%u\n", (unsigned)i); …
90 c  types  unsigned 

5
C ++の符号なしキーワード
unsignedキーワードはデフォルトでC ++の特定のデータ型になりますか?プロトタイプのクラスの関数を作成しようとしています。 unsigned Rotate(unsigned object, int count) しかし、私は本当に何をunsigned意味するのかわかりません。unsigned intそれは何かのようなものではないでしょうか?
87 c++  unsigned 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.