問題タブ [unsigned]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
18 に答える
854136 参照

c++ - std::vector の反復: 符号なしと符号付きのインデックス変数

C++でベクトルを反復処理する正しい方法は何ですか?

次の 2 つのコード フラグメントを検討してください。これは正常に動作します。

そしてこれ:

を生成しwarning: comparison between signed and unsigned integer expressionsます。

私は C++ の世界に慣れていないので、unsigned変数は少し恐ろしく見えますunsigned。正しく使用しないと変数が危険になる可能性があることはわかっています。これは正しいですか?

0 投票する
16 に答える
120191 参照

java - Javaがunsignedintをサポートしないのはなぜですか?

Javaに符号なし整数のサポートが含まれていないのはなぜですか?

予想外に大きな入力でオーバーフローが発生する可能性が低いコードを記述できることを考えると、奇妙な省略のように思われます。

さらに、unsigned inintを使用することは、unsigned intが保持することを意図した値が負になることは決してないことを示しているため、自己文書化の形式になる可能性があります。

最後に、場合によっては、除算などの特定の操作では、符号なし整数の方が効率的です。

これらを含めることの欠点は何ですか?

0 投票する
10 に答える
241857 参照

java - unsigned long longに相当するJava?

unsigned long long intC ++では、、またはを介して64ビットの符号なし整数にアクセスできましたuint64_t。さて、Javaではlongは64ビットです。ただし、それらは署名されています。

Javaプリミティブとして利用可能なunsignedlong(long)はありますか?どうやって使うの?

0 投票する
13 に答える
99989 参照

c - C に unsigned float がないのはなぜですか?

私は知っています、質問は奇妙に思えます。プログラマーは時々考えすぎます。読んでください...

CI ではsignedunsigned整数が多く使用されます。符号付き整数を符号なし変数に代入するなどの操作を行うと、コンパイラが警告を表示するという事実が気に入っています。符号付き整数と符号なし整数などを比較すると、警告が表示されます。

私はこれらの警告が好きです。コードを正しく保つのに役立ちます。

山車にも同じ贅沢をしてみませんか?平方根が負の数を返すことは絶対にありません。負の float 値が意味をなさない場所は他にもあります。unsigned float の完全な候補です。

ところで - 浮動小数点数から符号ビットを削除することで得られる精度の余分なビットについては、あまり熱心ではありません。私はfloat今の s にとても満足しています。float を unsigned としてマークしたいだけで、整数で得られるのと同じ種類の警告が表示されます。

符号なし浮動小数点数をサポートするプログラミング言語は知りません。

なぜそれらが存在しないのか考えていますか?


編集:

x87 FPU には符号なし浮動小数点数を処理する命令がないことはわかっています。署名されたフロート命令を使用しましょう。符号付き整数のオーバーフローが定義されていないのと同じように、誤用 (例: ゼロを下回る) は未定義の動作と見なされる可能性があります。

0 投票する
5 に答える
5765 参照

c# - C#: ulong から byte に変換できません

C++ではできるのに、C#ではできないのは奇妙なことです。

明確にするために、2 つの関数を C++ に貼り付けてから C# に貼り付け、C# コードの問題のある行にコメント「//error」を付けます。2 つの関数が行うことは、パラメーターをエンコードしてから、それを byte1seeds という名前のグローバル変数に追加することです。

これらはC++の関数です

今C#コード:

関数 GenerateValue を変更しました。パラメーターとしてポインターを持つ代わりに、ulong パラメーターがあります。

それを呼び出して両方の値を変更するには、次を使用します。

  1. ulong mut1 = GenerateValue(mut);
  2. mut = mut1;

翻訳された関数は次のとおりです (問題のある行は「//エラー」でマークされています)。

エラーは次のとおりです。

タイプ 'ulong' を 'byte' に暗黙的に変換することはできません。明示的な変換が存在します (キャストがありませんか?)

編集:問題のある3行目のエラーは次のとおりです:

タイプ 'int' を 'byte' に暗黙的に変換することはできません。明示的な変換が存在します (キャストがありませんか?)

ここで質問があります: これらのエラーを解決するにはどうすればよいですか?

前もって感謝します!

0 投票する
5 に答える
4785 参照

c++ - 符号付きの値が符号なし整数に割り当てられているときにコンパイラがエラーを出さないのはなぜですか? - C++

unsigned intが負の値を保持できないことはわかっています。ただし、次のコードはエラーや警告なしでコンパイルされます。

変数aを出力すると、間違った値が出力されます。署名されていない変数が署名された値を保持できない場合、コンパイラはエラー/警告を出さずにコンパイルできるのはなぜですか?

何かご意見は?

編集

コンパイラ: VC++ コンパイラ

解決

警告レベル 4 を使用する必要があります。

0 投票する
8 に答える
18698 参照

c++ - unsigned char の配列を float の配列にキャストする

c++でunsigned char配列をfloat配列に変換する最良の方法は何ですか?

現在、次のようなforループがあります

また、手順を逆にする必要があります。つまり、unsigned char から float に変換します (float から 8 ビットへの変換)。

アドバイスをいただければ幸いです

ありがとう

0 投票する
7 に答える
88482 参照

c++ - unsigned char* の長さはどのように決定しますか?

unsigned char* の長さはどのように決定しますか?