問題タブ [uint8t]

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

ios - IntはUInt8に変換できませんか?

この関数には非常にイライラする問題があります。

次のreturn行にエラー メッセージが表示されます。'Int' is not convertible to 'UInt8'

これは本当に私を夢中にさせています。これはで動作しObj-Cます。私は本当にSwift言語として疑問を持ち始めています...


アップデート

関数を次のように更新しました。

しかし、私はこのようにそれを使用しようとすると:

Double -> CGFloat not convertible 以外は同じエラーが発生します

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

c - int を 16 進数の uint8_t に変換します。たとえば、0x07 は uint8_t に格納されます。Cで

メジャー フィールドとマイナー フィールドでタイム スタンプを送信する iBeacon の広告を変更しようとしています。サンプル コードでは、Major と Minor は uint8_t であるため、たとえば日付を取得するには、次を使用します。

segundos を 0x10 として使用しているにもかかわらず、機能せず、理由がわかりません。しかし、アイデアは、たとえば segundos=(uint8_t)(timeinfo->tm_sec); を使用することです。メジャーとマイナーで使用するために、各 16 ビット データ (0x00、2 桁の HEX) を抽出するふりをしているためです。char * バッファーを使用して char 文字列を使用しようとしましたが、後でデータを char から uint8_t に渡すのが難しいことがわかりました。

そして、メイン クラスの iBeacon を使用してアドバタイズするための無限の場合は次のとおりです。

はい、メジャーとマイナーが 16 ビットであることは知っていますが、この iBeacon ファームウェアが構築されているため、2 つのフィールドを持つ uint8_t 配列が使用され、どちらも 16 ビットです。これは実際、多かれ少なかれ私が使用するデータ構造です。

そのため、データ en uint8_t が必要です。そして、マイナーとメジャーを含む 128 ビットの 4 つの完全なパケット (32*4 = AES で暗号化された 128 ビット) を送信したいと考えています。しかし、最初に、テストするためにタイムスタンプを送信する必要があります。それで、それらをバイトに変換する方法を知るための例またはスニペットはありますか? しかし、最後に uint8_t は必要ないのでしょうか? ファームウェアをアップロードしてもデバイスが動作しないため、間違ったタイプのデータが原因であるに違いないと推測します

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

objective-c - 目的cでint8_t配列を整数値に変換する方法は?

私は次の配列を持っています:

整数値を取得する必要があります。このARRAY最終int値は です13547544。配列内のバイトが逆の順序で続くためlittle-endianです。

0xCEB818 = 13547544

これどうやってするの?標準ソリューションを用意できますか?

前もって感謝します!

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

c++ - char* を uint8_t に変換します

CAN プロトコルを介してメッセージを転送します。

そのためには、CAN メッセージに uint8_t type のデータが必要です。したがって、char* を uint8_t に変換する必要があります。このサイトでの調査により、次のコードを生成します。

ご覧のとおり、私char*は に収まる必要がありsliderPressure[0]ます。

私の問題は、コンパイル中にエラーが発生しなくても、slidePressure のデータが完全に正しくないことです。確かに、私は a でそれをテストし、私char* = 0は未知の文字を持っています...だから、問題は変換から来ているに違いないと思います.

私のデータはBool, Uchar, Ushort and float.

ご協力いただきありがとうございます。

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

c# - SWIG unsigned char からバイト配列への C#

SWIG をいじって、unsidned char の typemaps で立ち往生しました。C# では、次の uint ポインターが byte[] として必要になります。

Python の場合、どのように見えるべきかいくつかのアイデアを見つけましたが、C# の実装には問題がありませんでした。誰かが方向性を提案してもらえますか? 前もって感謝します!

解決済み:

他の質問のマークに感謝しますが、明確な PI/Invoke または DLL のインポート用である重複しているとは思いません。私はSWIGでこれを行っており、DLLのインポートとポインタとは何の関係もありません(SWIGはそれ自体で行っています)。しかし、誰かが同じ問題を抱えている場合、私はいくつかの質問を思いつきました: まず、誰かがそれを試してみたい場合は、より多くのタイプマップを調べることができます:

また

彼らがどのように機能するのか確信が持てなかったので、ここに私の最終的な解決策があります:SWIG用のC++コンバーターを作成しました.coz SWIGはchar*を文字列に、または文字列を適切なライブラリで文字列に変換します:

C++ 変換コード

最後にHEXとして使用されるため、フォーマットも必要でした。このフォーマットでは、実際のデータ バイトが大文字と空白で区切られた 2 文字に分割されます。

SWIG インターフェース ファイルを使用する場合、これを C++ ヘッダーの前に追加します。これは SWIG に std ライブラリを使用し、文字列を正しく使用するように指示します。文字列の代わりに char* を使用する他のオプションと SWIG も文字列を返します。

次に、C# または任意の言語で、必要に応じて文字列を使用できます。空白があった文字列配列に解析しました。

C#

希望は他の誰かにも役立ちます。乾杯

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

c - Uint8_t 設定自体

バグというよりちょっとした不快感がありますが、なぜそれが発生しているのかわかりません。次のように宣言された配列インデックスと 2D gchar 配列があります。

さて、初めて Array Index を使用すると、どういうわけか値が 115 になります。使用する前に、コードのどこにも設定しませんでした。strcpy コマンドで使用した後にのみ出力すると、その値は 115 になります。strcpy コマンドの前に出力すると、プログラムの実行中は正しい値になります。

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

c++ - c++でuint8_tとuint16_tをfloatに変換するにはどうすればよいですか?

uint8_t および uint16_t 変数タイプを作成し、いくつかのレジスターからそれらに値を読み取りました。しかし、これらを float に簡単にキャストできるかどうか、および変換が数値的に意味があるかどうかはわかりません。

uint8_t と uint16_t を float にキャストする最適な方法は何ですか?