問題タブ [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.
c++ - C ++で符号なしダブル?
C++ が unsigned double 構文をサポートしないのはなぜですか?
sqlite - SQlite: UNIX タイムスタンプの列形式。整数型
元の問題: UNIX タイムスタンプの正しい列形式は何ですか?
ネットは混乱に満ちています: 一部の投稿では、SQLite には unsigned の型がないと主張しています。データ型のページでは、bigint の例でのみ言及されています。また、6 バイトの整数があると主張していますが、その名前は示していません。INTEGER を 4 バイトの署名付きストア unix タイムスタンプとして負の数値として試してみたようです。一部のシステムは 64 ビットのタイムスタンプも返すと聞いたことがあります。OTOH 余分な 1 ビット (タイムスタンプの最上位ビット) を保存するために 4 バイトを浪費するのはあまり好きではありません。SQLite unix タイムスタンプが REAL 型であると主張する投稿も見たことがあります...
完全な問題: 誰かがその混乱を明確にしてくれませんか?
php - メソッド readUnsignedByte PHP
どのようにphpでUnsignedBytesを取得しますか? Java では非常に簡単です: readUnsignedByte (Java)
sql-server - Sql Server 2008 の 4 バイトの符号なし Int?
SOにはこれについて複数の質問があることは理解していますが、「はい、これが方法です...」という決定的な答えをまだ見つけていません。
繰り返しになりますが、SQL Server の 4 バイト フィールドに符号なし整数値 (32 ビット値または 32 ビット ビットマップ) を格納するには、どのような方法がありますか?
私が見たアイデアは次のとおりです。
1) すべての値に -1*2^31 オフセットを使用する
- 短所: 読み取り/書き込み/集計の前に、値に対して計算を実行する必要があります。
2) 4 つの tinyint フィールドを使用する
- 短所: 操作を実行するために値を連結する必要がある
3) バイナリを使用する(4)
- 欠点: 実際には 4 + 2 バイトのスペースを使用します(編集: varbinary(4) は 4+2 を使用し、binary(4) は 4 のみを使用します)
- SqlBinary で作業するか、他の型との間でキャストする必要がある
c++ - 符号なし変数に負の値を割り当てるとどうなりますか?
符号なし変数に負の値を代入するとどうなるか知りたいと思っていました。
コードは次のようになります。
コンパイラエラーは発生しませんでした。プログラムを実行するとnVal
、奇妙な値が割り当てられました! 2 の補数の値が に割り当てられる可能性がありnVal
ますか?
c - このCプログラムが負の数を出力するのはなぜですか?
符号なし変数に補数値を割り当てました。
では、なぜこのCプログラムは負の数を出力するのでしょうか。
c - 署名されたリテラルを署名されていない型に割り当てるときに、GCC が警告を生成しないのはなぜですか?
この Web サイトのいくつかの質問は、符号付きと符号なしの型を混在させる場合の落とし穴を明らかにしており、ほとんどのコンパイラはこの型の警告の生成についてうまく機能しているようです。ただし、符号付き定数を符号なし型に割り当てる場合、GCC は気にしないようです! 次のプログラムを検討してください。
以下のように GCC 4.2.1 でコンパイルすると、コンソールに何も出力されません。
結果の実行可能ファイルは、次の出力を生成します。
-30
符号付きの値を符号なしの整数変数に割り当てるときに、GCC が警告またはエラー メッセージを生成しない理由はありますy
か?
c# - C# で unsigned int/long が常にチェックされたコンテキストで実行されるようにする
uint と ulong のデフォルトのコンテキストが、負になることのない値を表すことを意図していることを考慮して、チェックされているのではなく、チェックされていないことを奇妙に感じた人はいますか?
したがって、一部のコードがその制約に違反しようとしている場合、代わりに最大値を返すのではなく、例外をスローすることが自然で好ましい動作のように思えます (これにより、重要なデータが無効な状態になり、元に戻すことができなくなります。 .)。
チェックされたコンテキストで常に算術演算を実行するように、クラス/アセンブリのいずれかに適用できる既存の属性はありますか? 私は(PostSharpを使用する側面として)自分で書くことを考えていましたが、すでにあれば素晴らしいでしょう。
どうもありがとう、
language-agnostic - 負の数を防ぐための符号なし
私がこれを非主観的にすることができることを願っています
固定型言語では、メソッドや関数への入力を、やなどのunsigned
型を使用して正の数に制限することがあります。unsigned int
unsigned double
しかし、ほとんどの図書館はそのように考えていないようです。C#を取りstring.Length
ます。負になることはありませんが、整数です。同じことがC/C++にも当てはまります。sqrt
入力はint
またはdouble
です。これには理由があることを私は知っています...たとえば、引数がファイルから読み取られる可能性があり、(理由はわかりませんが)値を関数に直接送信し、後でエラーをチェックする(またはtry-catchブロックを使用する)ことをお勧めします)。
したがって、ライブラリは自分のコードよりもはるかに優れた設計になっていると思います。では、正の数を表すために符号なしの数を使用する理由は何ですか?キャストしてから署名付きタイプに戻すときのオーバーフローが原因ですか?
c - unsigned int に負の数が含まれている理由
符号なし数値 (unsigned short、int、long) について私が知っていることは、正の数値のみが含まれているということですが、次の単純なプログラムは負の数値を unsigned int に正常に割り当てました。
出力は次のとおりです。
The subtraction of 10 from 20 is -10