問題タブ [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.
objective-c - Objective-C - uint32 への ulong
ulong を uint32 に変換するにはどうすればよいですか? 単純なキャストが機能していません。私にとってうまくいくのは、longを文字列に変換してから、文字列を再びintに解析することです。
しかし、これは本当に間違っているようです。もっと良い方法はありますか?
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
c - Cでuint32をuint64に変換する方法は?
imuint32_t16進数をuint32_tBCD番号に変換します。そして、BCDへのuint64hexに対しても同じことを行います。
私はuint16からこれを持っています
編集:
より大きなプログラムで使用する外部コードとして使用します。
c# - UInt32でセットビットをカウントする最速の方法は何ですか?
UInt32
ルックアップ テーブルを使用せずに、セットされたビットの数をカウントする (つまり、1 の数をカウントする) 最速の方法は何ですか? でカウントする方法はありO(1)
ますか?
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 long
2012年のは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を定義しています。
ipv6 - IPv6 タイプのアドレスをネットワーク バイト オーダーに変換する
次の形式のIPv6アドレスがあります
uint32_t address6[4];
したがって、上記の配列には、全体で 16 バイトに相当する 4 つの uint32_t タイプのデータが格納されるため、ipv6 タイプのアドレスになります。
上記の形式で保存されたアドレスをネットワーク バイト オーダーに変換するにはどうすればよいですか?
c++ - GameKit の peerID を uint32_t にキャストできますか
C++ アプリケーションでネットワーキングに GameKit を使用しています (GameKit ネットワーキングを管理するための Objective-C クラスを作成しました) が、問題は、GameKit が NSString (C++ タイプではない) を使用してピア (peerID) を識別することです。私は GameKit を何度もテストしましたが、実際には peerID は常に数字です (例: 754569949)。peerID を字句的に uint32_t にキャストしても安全ですか? peerID が数字でない場合はありますか?