問題タブ [uint16]

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 に答える
840 参照

qt - Qtでuint16モノクロ画像を印刷するには?

Dicom ファイルから画像を印刷しようとしています。生データを convertToFormat_RGB888 関数に渡します。私の知る限り、Qt はモノクロの 16 ビット イメージを処理できません。

元の画像は次のとおりです (ここでは jpg に変換されています): http://imageshack.us/photo/my-images/839/16bitc.jpg/

この関数の中で、私はこの中に入ります...

このコードは、ここから少し適応したものです: gdcm.sourceforge.net/2.0/html/ConvertToQImage_8cxx-example.html

しかし、元のものは実行エラーが発生しました。少なくとも私のものを使用すると、画像が得られますが、同じではありません。

これが新しい画像です (ここでは jpg に変換されています): http://imageshack.us/photo/my-images/204/8bitz.jpg/

私は何を間違っていますか?ありがとう。

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

python - Pythonでバイナリデータを解凍します

uint16バイナリデータの配列をPythonでデータに解凍したいと思います。

インターネットにはstruct.unpack、サイズ4のバイナリ配列を使用した例がたくさんありますが、それを扱った例だけです。

これらの例のほとんどは次のとおりです(Bファイルからのバイナリ配列です)

だから私はサイズ6の配列を開梱しようとしました:

できます。

Lしかし、サイズの配列(Lペア)を解凍したい場合はどうすればよいですか?私はそれを試しました:

しかし、それは機能しません、プロンプターは私にエラーを与えます(L=512例えば):

バイナリ配列をに解凍したい場合は、この配列の半分のサイズのuint16文字列が必要なので、このメッセージは奇妙です..."HHH...HHH"

誰かが私に助けを提供してくれたらとてもありがたいです。


私は少し進歩します...実際、私は試しました:

できます。

できます。

それはまだ動作します

動作しません!446より大きいサイズでは機能しません

それが誰かが私に答えるのを助けることを願っています。


@MarkRansom len(B)をチェックしましたが、実際の長さは444です。Bは:から来ているので、Bはサイズ512の配列であると確信しました。 B = f.read(512)ここで、Fは8000バイトサイズのファイルです。したがって、read()の問題...この回答に感謝します!しかし、誰かがサイズLのバイナリ配列を解凍するのを手伝ってくれるなら、私は感謝するでしょう

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

c - uint16_t タイプの印刷

私はこのようにバイナリモードでファイルを読んでいます:

上記のすべての変数は、その隣にある「sizeof()」関数の型として定義されています。ファイルの特定の部分を抽出して印刷しようとしています。この部分のサイズは 16 ビットで、次のように定義されています。

タイプ「ip_hdr_t」内。WireShark を調べたところ、この 16 ビットの実際の値は 0x0034 でした。

私は2つのことを試しました:

  1. printf("size of ip header: %hu\n", ip_header.ip_len);13312を出力しました(ビットの値が0x3400であるかのように)
  2. 構造体を 2 つの 8 ビット変数に分割し、 uint8_t ip_len; uint8_t ip_len2; 別々に出力します。 printf("size of ip header: %hu\n", ip_header.ip_len); printf("size of ip header: %hu\n", ip_header.ip_len2);

今回は出力を受け取りました: size of ip header: 0 (0x00) size of ip header: 52 (0x34) これが正しい答えです。

私の質問は: 最初の印刷で何がうまくいかなかったのですか?

ありがとう

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

bit-shift - 16 ビット整数を 8 ビット整数に変換しますか?

16 ビットの符号と大きさの整数を 8 ビットの符号と大きさの整数にコピーする C コードを実装しています。それは可能ですか?誰かがこれを行う方法を説明してもらえますか?

コードスニペット:

最初の 2 桁を変数 b にコピーし、次の 2 桁を変数 c にコピーする方法は?

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

c - エラー: 'uint16_t' が宣言されていませんか?

私はコードを持っています

uint16_t宣言されていない場所でエラーが発生します。私はMINGWでGCCを使用しています。

完全なエラーはこちらです。

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

c# - UInt16 配列のポインターへのポインターを Marshalled 関数に渡すにはどうすればよいですか?

C# のように、UInt16 配列のポインターへのポインターをマーシャリングされた関数に送信しようとしています。

C++:

C#:

私の主な問題はMarshal.Copy、ソース配列である最初の引数の場合、UInt16[]. 誰かが配列の使い方を知っているかどうか疑問に思っていMarshal.Copyました。UInt16

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

c# - 2 つの UInt16 値を 1 つの UInt32 値に変換する 最下位ワードと最上位ワードを考慮する

2 つの UInt16 値があります

2 つの単語 (UInt16 値) は、UInt32 ステータス/エラー値を 2 つの単語に分割し、2 つの単語を返すコンポーネントから取得されます。ここで、UInt32 値に戻る必要があります。2 つの単語を合計しても、最も重要な単語と最も重要でない単語が無視されるため、うまくいきません。

例えば:

これを解決する方法はありますか?正直なところ、私はC#でビット/バイトを扱ったことがないので、そのような問題に直面したことはありませんでした. 前もって感謝します

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

c - C uint16 整数または文字フォーマット?

私はCプログラミングが初めてで、次のようにフォーマットされたUDPパケットを受信して​​処理するコードをテストしています:

このテストで対応する値は次のとおりです。

パケット バッファ全体を出力すると、次のようになります。

どうすればそれを壊して正しい値を得ることができますか? 関数を試してみましuint16_tたが、うまくいきませんでした。数字が間違っているだけです。次のようなことを試しています。unsigned shorthtons

これらの値を取得するための正しい方法または最良の方法は何ですか? これらの 2 つの uint16 値は整数形式ではないと思いuint16ます。この文字の単なる char テキストだと思うu^W³^U><9e>^Dので、整数のように処理しているため、おそらく間違った数値を取得しています。しかし、私はすべてを試しましたが、正しい値を取得できません。

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

c - ADC から uint16 を変換すると反転する

やりたいこと: 結果の 16 ビットの数値 (2 つの 8 ビット # を結合した後) を、シリアル送信関数で使用する文字列に変換します。

問題: itoa を使用すると、中間点 (15 番目のビットから 16 番目のビットまで) を通過すると結果が負になるため、基本的に 16 番目のビットを符号ビットとして使用します (当然のことです)。 . sprintf もこれを行います。itoa(16) は正常に動作することに注意してください。

ハードウェア: atmega16 マイクロ プロセッサ (AVR c) SPI バス経由で接続された 16 ビット外部 ADC (ADC 結果を 2 つの 8 ビット数値として送信)

コード:

この結果、元の uint16 の代わりに 15 ビットの署名が出力されます。私は itoa を使用して 10 ビットの内部 ADC の結果を出力してきましたが、この単純な処理に非常に長い時間がかかっているのが残念です。

お時間をいただき、誠にありがとうございます。