問題タブ [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++ - 符号なし整数の背後にある考え方
重複の可能性:
符号なし変数に負の値を割り当てるとどうなりますか?
私はC++を初めて使用し、符号なし型の使用方法を知りたいです。型については、unsigned int
0から4294967296までの値を取ることができることを知っています。しかし、unsignedint型を次のように初期化する場合:
出力は、4294967286
これを取得したようoutput = max value - 10
です。だから私は記憶の中で何が起こっているのか知りたいですか?この計算を続けている間、どのようなプロセスが実行されていますか?回答ありがとうございます。
floating-point - 単精度浮動小数点否定のビットレベル式
そのため、このアイデアを実装するのに苦労しています。基本的に、引数「uf」を取り、それを否定したいだけです。私は引数を 32 ビットの符号なし整数として扱っています。これは、単精度浮動小数点数がどのように見えるかということと、一種の等価物として機能します。同じように動作するはずです: 符号付きビット、指数の 8 ビット、小数の 23 ビット。
ただし、引数が NaN の場合は、引数を返すだけで済みます。理想的には、キャストや高レベルの操作なしでこれを実装できるようにしたいと考えています。どうやら、ビット単位の演算と整数/符号なし演算 (if、while、||、&&) だけで実行できるはずです。
どこから始めればよいかわかりませんか?「uf」の各部分を抽出し、それらをすべて個別に (ビットごとの演算子を使用して) 否定し、最後にそれらをすべて追加するだけでよいでしょうか? 否定には (~uf) + 1 を使用する可能性があります。
NaN の場合、8 ビット部分 (exp) のすべての 1 と小数部分の 0 以外をチェックする必要があることを認識しています (それ以外の場合は無限大と見なされます)。
繰り返しますが、これは 32 ビット システムの C で行われます。
c - unsigned short int を signed 値に初期化しています
- これにより、出力 65535 が得られます。なぜですか?
- a の値を負側に増やすと、出力は (2^16-1=)65535-a になります。
unsigned short int の範囲が 0 から 65535 であることは知っていますが、なぜ 0 から 65535 の範囲で回転しているのでしょうか。
/li>- 出力は -1 です。
- %d は、ここでその (int) 範囲の最大値を出力する規則に従っていない理由よりも、符号付き 10 進整数に使用されます。
- この部分の出力が -1 なのはなぜですか?
%u が符号なし 10 進整数の出力に使用されることは知っています。
最初のコードではなく、2 番目のコードでビヘイビアが定義されていないのはなぜですか?
これは、gcc コンパイラでコンパイルしたものです。これは C コードです。私のマシンでは、short int のサイズは 2 バイトで、int のサイズは 4 バイトです。
c - char配列をunsignedintに変換する方法は?
私は次のコードを持っています:
「配列」値を「アドレス」変数に書き込む正しい方法は何ですか?
assembly - どうしてアセンブリに署名付きおよび署名なしのサブラクション命令がないのですか?
仮想マシンとそのためのCコンパイラを作成しています。ただし、ほとんどの命令セットにはIMULとIDIVがありますが、ISUBとIADDはありません。subは通常署名されていないsubなので、x86のようなことをどのように行うことができますか
そして-2を取得しますか?
c++ - int /unsignedint除算を行うときに「divl」を使用する理由
このコードをX86でテストしました。
ここにアセンブリコードを貼り付けます:
なぜidivlの代わりにdivlを使用してintとunsignedintを分割するのか教えてください。
c# - C# int32 リテラルは long データ型でのみ格納できます
非常にトリッキーな C# 試験の準備をしていて、その最中にこの質問がポップアップしました。次のコードがあります。
-12u
はリテラルとして認識System.Uint32
されますが、タイプ の変数にのみ格納できますlong
。何故ですか ?
c - C - unsigned int doesn't get the correct value on assignment
This is from gdb:
This is from the code:
You can see that both database->size and size are from the (unsigned int) type, in both code and gdb, but for some reason, after the assignment the values are different.
Does anyone knows the what is the reason of that?
python - Python で文字列を 8 ビットの符号付き整数に変換する
Python と ctypes を使用してモーター制御システムにパッチを適用しようとしています。必要なことの 1 つは、テキスト入力を取得して 8 ビットの符号付き整数に変換することです。
以下は、私が呼び出そうとしている関数のドキュメントです。プログラムに入力するテキストは「EPOS2」です
データ型の定義は次のとおりです (「char*」は 8 ビットの符号付き整数に相当することに注意してください)。
では、'EPOS2' を -128 から 127 の間の値に変換するにはどうすればよいでしょうか?
最終的に私がやろうとしていることは、次のようなものです:
java - Java unsigned - 符号ビットを削除
私はこの機能を持っています:
ここでの意図は、「b」の値を正であるかのように使用することです。これは、65536 個の値を保持できる unsigned int であるかのように使用することを意味します。しかし、うまくいきません。例えば:
'b == -122' の場合、関数は '65414' を返します。
私もこの方法を試しました:
しかし、「b == 304」の場合、「48」が返されます。
私はここで本当に迷っています。誰かが助けてくれることを願っています。