問題タブ [unsigned-integer]
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.
c++ - sqlite3ステートメントで「unsignedlong」(uint64)をバインドしますか?C ++
sqlite.orgで入手できるsqlite3ライブラリを使用しています。
データベースに保存したい署名されていないlongがいくつかあります。自分でクエリを作成して、何らかの注入(偶発的かどうかに関係なく)を可能にしておきたくありません。したがって、私はsqlite_bind_*
関数を使用してパラメーターを「サニタイズ」しています。
問題は、符号なし長整数の関数型がなく、整数だけであるということです。
int sqlite3_bind_int(sqlite3_stmt*, int, int);
int sqlite3_bind_int64(sqlite3_stmt*, int, sqlite3_int64);
署名なしで保存できない場合は、間違いなくオーバーフローする番号があります。
これを自分で管理する必要がありますか?(つまり、データベースから選択した後に符号なし型にキャストするか、データベースに挿入する前に符号付き型にキャストします)
これを自分で管理する必要がある場合、比較が実際には符号なしの範囲にあることを意図しているときに、符号付き長整数として格納されているいくつかの比較クエリをどのように実行しますか?
変換されるINTEGERデータ型を見ると、unsignedlongsは問題なく表現できると思います。
他に利用できる解決策がある場合は、私に教えてください!ありがとう!
c++ - C ++:符号なしタイプのみを使用する場合の符号付き/符号なしの不一致
警告レベル/W4を有効にしてVisualStudio2010 C ++コンパイラ(X86)を使用して次のC ++プログラムをコンパイルしようとすると、マークされた行に符号付き/符号なしの不一致の警告が表示されます。
私は符号なしの型しか使用していないので、これは私を混乱させます。比較以来
そのような警告は発生しません。おそらく、ここで発生する奇妙な暗黙の会話と関係があります。
したがって、この警告が表示される理由は何ですか?また、この会話はどのようなルールで発生しますか(これが理由である場合)?
c++ - 「unsigned long int」および「unsigned long long int」割り当ての問題
数週間前、私は初めて (私はそれらを使用するのに慣れていません) floats、doublesを使用していましたが、比較オペランドにいくつかの問題があります。その型に値を割り当てようとしているときにも問題がありましたが、それも解決しました...
今日、私は C++ でライブラリを作成していて、エラーを見つけました... うーん... 変ですか? それとも私の愚かな考えですか?
これはコードです:
}
おそらくiniライブラリはすでに作成されており、私のものよりもはるかに優れています. しかし、私は C から C++ を学び始めており、何か面白くて便利なことで練習したいと思っています。クラス宣言を見逃していました。ここに貼り付ける必要があるかどうかはわかりませんが、次のとおりです。
いくつかの「テスト」の後、問題が「f_size」変数にあることが最終的にわかりました。なんで?わからない。しかし、標準出力に出力すると、非常に大きな数値が表示されます。これは、メモリ割り当て (malloc を使用) エラーと、それに続くファイルからの読み取り (または memset を使用した初期化) 時のエラーの問題です。
助けていただければ幸いです。そして、エラーを確認して学習を続けるためのリンク、参考文献、または説明。
ありがとう!
PS: Linux Debian の "squeeze"、amd64 で g++ を使用しています。
php - 32 ビット システムの INT 最大サイズ
32ビットシステムについて話しているとしましょう。
PHP は unsigned INT をサポートしていません。これは、INT 値が -2,147,483,648 と 2,147,483,647 の間の値であることを意味します。また、INT は 32 ビット長の値を格納するために 4 バイトを必要とします。
では、値に 31 ビット、符号に 1 ビットしかないということですか? または、32 ビット全体を使用して値を格納できますか?
c++ - C ++:符号付き64ビット整数の2つの符号なし64ビット整数の違い
2つの64ビット符号なし整数を受け取り、それらの差を符号付き64ビット整数で返す関数をC++で作成しようとしています。オーバーフローの状況のため、少し複雑に見えます-入力は2つの符号なし正の整数であるため、これら2つの絶対差が最大符号付き値(INT64_MAX)より大きい場合、差は符号付き整数を介して送信できません。そこで、次の実装を作成しました。まず、これが機能的に正しいかどうか、次に、より単純な実装があるかどうか疑問に思いました。任意の提案をいただければ幸いです。ありがとう!(アサーションを例外に置き換えます。今のところあります!)
java - java:さようなら配列バイト[1000]を配列int[500]に変換する最速の方法
目標は、バイトのすべてのペアを単一の符号なし16ビット整数として変換することです。CIでは16ビットのunsingedintポインターのarray[500]を定義し、それをバイトの配列にポイントしますが、Javaではそのようなショートカットを認識していません。Javaにはchar以外の16ビットデータ型がないことは知っていますが、それは問題ではありません。連続する2バイトごとに整数配列の単一のintにコピーする必要があるだけです。したがって、整数の配列は、0から65535(2 ^ 16-1)の範囲のintの値を保持します。
c - 16 進数スキャン (scanf) を unsigned int 配列から 10 進数に変換します
ここで 4 桁の 16 進数を 10 進数に変換しようとしていますが、成功しませんでした。これが私のコードです。
何が問題なのかわかりませんが、正しい dec 出力が得られないだけです。私が EEFF を入力したときのように、61183 を出力するはずですが、プログラムは 65518 を出力し続けました。
この番号はどこから?コードの何が問題になっていますか? FFFF は 65385 に等しく、unsigned int の範囲は 0 ~ 65535 であるという私の考察に従って、unsigned int を使用しました。データの範囲に問題はないはずで、%u も使用しました。
いくつかの検索を行った後、私が今考えることができる唯一のことは、この問題が unsigned int から int または sth へのサイズに関係している可能性があるということです。説明を読んだのですが、よくわかりませんでした。
これは重複している可能性がありますが、これが機能しない理由の簡単な説明を求めています。正直に言うと、私はこのサイトとプログラミングの両方にまったく慣れていないので、コーディングは簡単に行ってください。参考までに、 stdio.h 以外は何も知りません。
c++ - C++ for ループの符号なし整数
符号付き整数ではなく符号なし整数を使用する C++ の逆 for ループについて、Stackoverflow で調査しました。しかし、なぜ問題があるのか まだわかりません(for loops を使用した Unsigned int reverse iteration を参照)。次のコードでセグメンテーション違反が発生するのはなぜですか?
問題は、オーバーフローのようなものがあるため、インデックス i がゼロになる場合であることを理解しています。しかし、符号なし整数はゼロの値を取ることが許されていると思いますね。これを符号付き整数に置き換えれば、まったく問題ありません。
符号なし整数を使用した逆ループの背後にあるメカニズムを誰かが説明してくれますか?
どうもありがとうございました!
c++ - UnsignedIntのオーバーフロー
unsigned int
オーバーフローすると何が含まれますか?具体的には、2つunsigned int
のsで乗算を行いたいのですunsigned int
が、乗算が終了した後はどうなりますか?
c++ - `int`と`unsignedint`の両方のメンバーを、参照またはポインターによって同じ関数に渡すにはどうすればよいですか?
更新の可能性についてを参照していた20〜30行のC++関数がありint
ます。ここで、渡されたメンバーを、次のように、より多くのデータをカプセル化するメンバーのメンバーに置き換えます。
同等性以降を確認したら、古いメンバーを削除する必要があるため、この変更を上記の行と関数にローカライズしたいと思います。
これは単純なキャストで可能ですか?
コードが必要な場合:
および最近追加されたメンバー: