問題タブ [uint32-t]

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

c++ - Struct または Union での ntohl の使用

ntohlかかりますuint32_tuint32_t多くの異なるメンバー (タイプまたは)を持つメッセージがありますuint16_tstruct受け取ったor全体を適切に渡し、それを say に変換してから my or に変換することはunion可能ですか?uint32_treinterpret_castunionstruct

私が行ってきた方法は、unionorの個々のメンバーを行ごとにリストし、structこのように ntohl/s に渡すことmsg.member = ntohl(msg.member);ですが、それは面倒です!

データ構造全体が C# .NET アプリケーション (Windows) から Linux アプリケーションに転送されます。

やってみたところ、

コンパイラは次のように不平を言います。

エラー: 'void*' から 'uint32_t' へのキャストで精度が失われます

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

crypto++ - Crypto++ は Adler32 ダイジェスト (バイト配列) を uint32_t に変換します

次の問題があります: を使用してデータ ブロックの adler32 チェックサムを計算しようとしていますCrypto++が、byte[4] 配列出力を uint32_t に変換した後、間違ったチェックサムが得られます。

crc32 を使用したこの関数は問題なく動作します。

しかし、adler32 を計算する関数は無効な値を返します。

誰かが私にヒントをくれることを願っています。

グリーツ・ファビアン

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

c - uint32_tをネットワークバイトオーダーに変換する

私は勉強のために何かをしているので、ええ、それは宿題です。

最初に:動作するJavaサーバーアプリケーションを入手しました。また、cで書いているこのクライアントアプリケーションもJavaで動作しています。単純なままですが、uint32_tをJavaサーバーに送信できません。

それでは、いくつかのコードを披露しましょう。

そのまま簡単に、この関数をfunc ='v'、str = "hallo"、anz = 2で呼び出します。これにより、27バイトのpackageLengthが得られます。

パッケージは次のようにビルドされます。
=packageLength(int)は4バイト
+関数記述子の長さ(funcLength)は4バイト
+ func記述子(func)はfuncLength
+ param1の長さ(strLength)は4バイト
+長さstrLengthであるparam1(str)の値+4
バイトであるparam2の長さ+1バイト
であるparam2(anz)の値の長さ
+ 1バイトであるNULLバイト(\ 0)

私が行った変換が間違っていると思います。おそらく間違ったデータ型を使用しています。サーバー側では、JavaByteBufferを使用してデータを収集します。最初に、ネットワークから4バイトのパッケージ長を読み取ります。これにより、データパッケージ全体を取得するまでに読み取る必要がある時間の情報が得られます。

最後のprintlnは、次の出力を提供します。

packageLength875901497

それで、私の問題がどこにあるのか、誰かいますか?必要に応じてさらにコードを提供できますが、エラーはデータ型(uint32_t)または変換のいずれかであると思います。

ヘルプが適用されます。前もって感謝します。

乾杯ダニエル

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

c - qsortを使用して符号なし整数をソートする

私が取り組んでいるプログラムは、ファイルを取得して1行ずつ解析し、各行をuint32_tに変更して、配列に追加します。そこから、qsort()を使用して配列をソートすることになっています。プログラムを自分の考えどおりに作成しましたが、コードをテストすると、すべての新しいuint32_tsが同じ値であると表示されます。これは、文字列をuint32_tに変更したときの間違いによるものですか?strtoulを使用する方が良いでしょうか?最後の質問ですが、私のqsortの実装は正しいですか?(コンパイルされ、ソートされたと表示されますが、uint_32への変換が明らかに正しくないため、わかりません。とにかく、コードは次のとおりです。

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

c - uint32_t 使用時のオーバーフロー

出力は「ポート: -120」です。若干のオーバーフローがあるようです。しかし、uint32_t は 5000 に対して十分な大きさである必要があります。5000 の代わりに 22 を使用すると、すべて問題ありません。

なんで?

0 投票する
9 に答える
200414 参照

c++ - 'uint32_t'はタイプに名前を付けません

2007年に作成されたC++ソ​​フトウェアパッケージをコンパイルしようとすると、次のエラーが発生します。

error: ‘uint32_t’ does not name a type

これは、g++4.5.2を使用する64ビットUbuntuで発生しています。g++4.1.2を使用して64ビットCentOSで正常にコンパイルされます。

#include欠落しているまたはコンパイラフラグはありますか?または、またはtypedefに割り当てるuint32_tために使用する必要がsize_tありunsigned intますか?

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

c - uint32 / 16_tから文字列を作成してから、元の数値を解析して戻します

私はchar*にいくつかのuint32_tとuint16_tの数字を入れる必要があります。次に、それらをバッファから戻す必要があります。

私はいくつかの質問を読み、sprintfを使用してそれらをchar *に入れようとしましたが、sscanfは元の数値を再び取得します。しかし、私はそれらを正しく取得することができません。

これは、2つの数字しかない私のコードの例です。しかし、2つ以上必要なので、reallocを使用します。また、uint16_tでsprintfとsscanfを正しく使用する方法がわかりません

そして私が得るものは

私が取得する必要があるのは

私はCが初めてなので、助けていただければ幸いです。

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

c - C型宣言intN_t

ヘッダーstdint.hは、すべてのマシンでu32を32ビットとしてどのように定義しますか?誰かがこれを実現するためにstdint.hが行うプロセスについて詳しく説明できますか?自分のマシン(Windows 7)のstdint.hファイルはどこにありますか?

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

c++ - uint32とuint32_tの違い

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

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

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

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

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

arduino - uint32_tとunsignedcharsの間で変換するArduino

私はrainbowduinoを使用していますが、個々のrgb値を符号なし文字として受け取るメソッドと、24ビットのrgbカラーコードを受け取るメソッドがあります。

rgb値をタイプuint32_tのこの24ビットカラーコードに変換したい(すべてのコードがrgb値のみを使用する必要があるようにするため)。

何か案は?

私はすでにuint32_tを試しました。result=r<< 16 + g << 8 + b; r = 100 g = 200 b = 0は緑を与えましたが、r = 0 g = 200 b=0は何も与えませんでした