問題タブ [uint32]

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 投票する
1 に答える
3934 参照

objective-c - Objective-C - uint32 への ulong

ulong を uint32 に変換するにはどうすればよいですか? 単純なキャストが機能していません。私にとってうまくいくのは、longを文字列に変換してから、文字列を再びintに解析することです。

しかし、これは本当に間違っているようです。もっと良い方法はありますか?

0 投票する
2 に答える
1244 参照

copy - uint16_t を uint32_t に入れる

ポートを uint32_t にコピーする必要があります。ポートが Null であることを出力します。

EDIT 関数呼び出し: char* tmp; uint8_t i; 私は= 9; uint16_t ポート; ポート = 1234; tmp = createMSG(i,port);

出力: 作成された MSG: id: 2 受け入れ: 0 ポート 0

0 投票する
1 に答える
3172 参照

c - Cでuint32をuint64に変換する方法は?

imuint32_t16進数をuint32_tBCD番号に変換します。そして、BCDへのuint64hexに対しても同じことを行います。

私はuint16からこれを持っています

編集:

より大きなプログラムで使用する外部コードとして使用します。

0 投票する
4 に答える
21683 参照

c# - UInt32でセットビットをカウントする最速の方法は何ですか?

UInt32ルックアップ テーブルを使用せずに、セットされたビットの数をカウントする (つまり、1 の数をカウントする) 最速の方法は何ですか? でカウントする方法はありO(1)ますか?

0 投票する
0 に答える
347 参照

c++ - UINT32コンパイラのバージョンの不一致-レガシーライブラリへのリンク

DLLをリンクしようとしていますが、常に問題が発生していUINT32ます。

ライブラリは、VisualStudioコンパイラの4.1バージョンに対してコンパイルされます。私のコンポーネントのインターフェース(4.1でしたが、現在は2012に移植しています)は、多くUINT32のsが含まれている状態で定義されています。VC4.1ではUINT32、コンパイラーによって定義されていないためunsigned long、プログラマーによってtypedefされましたが、VC6以降UINT32はとして定義されていunsigned intます。これは私の人生を困難にします。

UINT32私の最初の反応は、インターフェイスのすべてを置き換えてunsigned long再コンパイルすることでした。関数のシグネチャが同じであるため、これは機能します。ただし、unsigned long2012年のは64ビット幅です...32ビットではありません。これはほとんどの場合問題ではありませんが、フラグパラメータとリターンタイプで発生する可能性のある問題を予測しています。

私が疑問に思っているのは、これに対するより明白な解決策を見逃していないかどうかです。別のタイプを定義することを考えました

しかし、問題は、UINT32の2つの定義ですでに持っているものと同じになります...そうですか?

どんな助けでも大歓迎です。

問題

クライアントコード

oam_if.h

ライブラリ(OAM)がコンパイルされると、UINT32値はとして評価されますunsigned long。クライアントコンポーネントがコンパイルされると、UINT32はとして評価されunsigned intます。リンカは、OAMライブラリで定義されたシンボルを持っているために文句を言います。このシンボルは、dwOamGetuserDetailsレーキしてを返しますunsigned longが、クライアントは、それに従って。を取る必要がある関数を呼び出していますunsigned int

したがって、それぞれの入力は両方とも32ビット長の符号なし数値ですが、関数の署名は異なり、リンカは文句を言います。

それを修正するために私が見ることができる唯一の方法は、すべてをunsigned long直接定義することです。ただし、OAMは32ビット長の数値を使用しますが、クライアントは64ビットの数値を使用します。

リンカーエラーのサンプル

エラーLNK2001:未解決の外部シンボル "public:virtual unsigned long __thiscall Message :: getCallId(void)const"(?getCallId @ Message @@ UBEKXZ)oam.lib(OAM_SsRequest.obj)

これは実際にはライブラリからコンポーネントへのコールバックであるため、この場合、ライブラリによって定義されたUINT32(unsigned long)に一致する署名を探していますが、コンポーネントはそのコールバックに対してunsignedintを定義しています。

0 投票する
2 に答える
164237 参照

c++ - uint32とuint32_tの違い

重複の可能性:
異なる整数型の違い

C / C ++のuint32uint32_tの違いは何ですか?

それらはOSに依存していますか?

どちらの場合、どちらを使用する必要がありますか?

0 投票する
1 に答える
5393 参照

ipv6 - IPv6 タイプのアドレスをネットワーク バイト オーダーに変換する

次の形式のIPv6アドレスがあります

uint32_t address6[4];

したがって、上記の配列には、全体で 16 バイトに相当する 4 つの uint32_t タイプのデータが格納されるため、ipv6 タイプのアドレスになります。

上記の形式で保存されたアドレスをネットワーク バイト オーダーに変換するにはどうすればよいですか?

0 投票する
2 に答える
93 参照

c++ - GameKit の peerID を uint32_t にキャストできますか

C++ アプリケーションでネットワーキングに GameKit を使用しています (GameKit ネットワーキングを管理するための Objective-C クラスを作成しました) が、問題は、GameKit が NSString (C++ タイプではない) を使用してピア (peerID) を識別することです。私は GameKit を何度もテストしましたが、実際には peerID は常に数字です (例: 754569949)。peerID を字句的に uint32_t にキャストしても安全ですか? peerID が数字でない場合はありますか?