問題タブ [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.
.net - インデックスとしての符号なし数値と符号付き数値
.Net で符号付きの数値をインデックスとして使用する理由は何ですか?
Python では、負の数を送信することで配列の末尾からインデックスを作成できますが、.Net ではそうではありません。.Net が後でそのような機能を追加するのは簡単ではありません。おそらく、インデックス作成で特別なルールを使用して他のコードを壊す可能性があるためです (ええ、悪い考えですが、私はそれが起こると思います)。
サイズが 2,147,483,647 を超える配列にインデックスを付ける必要があったわけではありませんが、符号付きの数値を選択する理由が本当にわかりません。
コードで符号付きの数値を使用する方が普通だからでしょうか?
編集:これらのリンクを見つけました:
Edit2: OK、マシュー・フラッシェンが投稿したスレッドからの他のいくつかの正当な理由:
- C ライクな言語であるという歴史的な理由
- c との相互運用
c++ - なぜ −1 > sizeof(int) なのですか?
次のコードを検討してください。
なぜ-1 > sizeof(int)
本当ですか?
- に昇格
-1
しunsigned(-1)
、その後unsigned(-1) > sizeof(int)
. - sizeof(int) が 4 の場合
-1 > sizeof(int)
と同等であることは trueですか。そうである場合、 false はなぜですか?-1 > size_t(4)
-1 > size_t(4)
これは C++ 標準に準拠していますか?
mysql - コンセンサス?MySQL、署名付き VS 署名なしの主キー/外部キー
署名されたキー値と署名されていないキー値に関して、誰もが今何をしているかについてのスレッドをいくつか見ました。unsigned は、同じコストで 2 倍の行数を許可するため、最適であるように思われます。署名付きキーには何か利点がありますか?
標準的なコンセンサスはありますか?「いつもそうだった」ので、署名されたのが答えのようです
java - Java でショートを unsigned short として出力するにはどうすればよいですか
値の範囲が 0 から short の最大値までの short の配列があります。結果の短い値の範囲が 0 ~ 65535 になるように、データを (TYPE_USHORT として表示するために) スケーリングします。スケーリングされた値の一部を出力する必要がありますが、方法がわかりません。データは配列と BufferedImage にあります。
c - Cで「unsignedlong」をprintfする方法は?
unsigned long
Cでデータ型を出力する方法がわかりません。
であると仮定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
ます。
c - char* と UBYTE* の間の型キャスト (unsigned char*)
背景: ソケット セッションの一部として配列を char* として受け取っています。ここで、トークン (HTTP ヘッダー) を一致させる必要があります。ここでのコードは、UBYTE* を作成し、UBYTE で型キャストした後に char 配列から値を取得したことです。後で同じ UBYTE ポインターを、char* に型キャストした後に char* を受け入れる他の関数に渡します。
ここでの問題は、これがデバッグ ビルドではなくリリース ビルドで機能することです (-g と異なる最適化を使用)。デバッグモードでいくつかの印刷を追加するだけでなく、問題が隠されます。
ここでの私の質問は、UByte ポインター (本質的に符号なしの char) と char ポインターの違いは何ですか。UByte を char に変更すると、すべてのモードで問題が解決しますが、同じことについて説明がありませんか? 何かご意見は ?
c# - 符号なし CLR 型を C# で使用するのが非常に難しいのはなぜですか?
C# を使い始める前は、ほとんど C/C++ のバックグラウンドを持っていました。C# での最初のプロジェクトで行ったことの 1 つは、このようなクラスを作成することでした。
次に、これにはキャストが必要であるという事実に悔やまれました。
同様に
言語設計者が、符号付きおよび符号なしの整数型を暗黙的にキャストできないようにしたのはなぜですか? また、.Net ライブラリ全体で unsigned 型があまり使用されないのはなぜですか? たとえばString.Length
、負になることはありませんが、符号付き整数です。
vb.net - VB.NETで整数を符号なしパラメータとして渡す方法は?
VB.NETコードsetInstance(ByVal instance As UInteger)
でライブラリ呼び出し を使用しています。渡す必要があるパラメーターは. 整数パラメータを符号なし整数に変換するために必要なことはありますか? 数値は正で 10 未満であることが保証されています。Integer
java - Javaで符号なしバイトのビットを反転するにはどうすればよいですか?
非常に単純なタイプの暗号化用のデコーダーを作成しようとしています。0 ~ 255 の数値をスキャナーで入力し、ビットを反転してから文字に変換して印刷します。
たとえば、数値 178 は文字 "M" に変換する必要があります。
178 は 10110010 です。
すべてのビットを反転すると、01001101 が得られます。これは、77 または文字としての「M」です。
私が抱えている主な問題は、私が知る限り、Java は符号なしバイトをサポートしていないということです。値を int または short として読み取ることができますが、余分なビットが原因で、変換中に値がオフになります。理想的には、ビットごとの補数演算子を使用できますが、符号付きの数値でこれを行うと、最終的に負の値になると思います。これにどのようにアプローチすべきかについてのアイデアはありますか?
c++ - SSE を使用して符号なし整数間の絶対差を計算する
C では、2 つの unsigned int 間の絶対差を計算するブランチレス手法はありますか? たとえば、変数 a と b が与えられた場合、a=3、b=5、または b=3、a=5 の場合は値 2 が必要です。理想的には、SSE レジスターを使用して計算をベクトル化できるようにしたいと考えています。