問題タブ [itoa]
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.
c++ - バイナリ データを読み取り、それを int に変換してから C++ に変換するにはどうすればよいですか?
wav ファイルを開いて読み取り、バッファを整数配列に変換してから、変換して書き込もうとしています。
現在、これは以下を出力します。
変換中にデータが変更されたことを示します。これを正しく機能させるにはどうすればよいですか?
いくつかの提案と、char
変数に対して計算を実行できることを学んだ後、コードを再構成しました。現在は次のようになっています。
ただし、(Windows Media Player で) 再生しても再生されないため、元のファイルではないことは明らかです。
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 の結果を出力してきましたが、この単純な処理に非常に長い時間がかかっているのが残念です。
お時間をいただき、誠にありがとうございます。
string - イトアの問題点
マイクロコントローラーからPCにデータを送信しようとしています。データは、異なるポートからの 10 ビット ADC 変換 (0 ~ 1023 の数値など) です。この数値を整数として保存したので、itoa または同様の関数を使用して、これを ASCII 文字列に変換したいと思います。私の問題は、itoa 関数のドキュメントを見つけるのに苦労していることです。たとえば、AD変換から「1011」という数字を受け取った場合。次に、次のように itoa を呼び出すことができます
ADC_string の結果は、「1 0 1 1 '\0'」、たとえば 1011 になります。しかし、代わりに AD 変換から数値 5 を受け取ったとします。結果は代わりに "5 '\0' Null Null Null" になります (itoa がどのように正しく動作するかを理解していれば)。代わりに、結果が「0 0 0 5 '\0'」であってほしかったでしょう。この理由は、結果を別の場所にある大きな文字列に配置したいからです。例えば
および別のポートの場合 (インデックス 5 & 6 の large_string には他のものが存在します)
つまり、上記の例に従って、次のように large_string を使用したいと思います。
(一度に 1 つのポートで AD 変換を行います。これが、ADC_string を再利用できる理由です)。large_string は後で PC に送信されるため、意図しない文字列ターミネータを避けたいと考えています。
これをうまく実装する方法を知っている人はいますか? 提案に感謝します!
c - Cでitoaを使用する方法
itoa
Cで関数を使用する方法を誰か教えてもらえますか?
プロトタイプは次のとおりです。
int_Val
それが変換したい値だと
思います。char*_DstBuf
結果を保存したい文字列ですが、何int_Radix
ですか?
c++ - 複数桁の int と char を追加する方法。出力は int + char になります
これは私がこれまでに持っているものです
ヘッダー ファイルの読み取り:
呼び出しプログラム:
出力は次のとおりです。
ただし、1桁の整数でのみ機能します
したがって、1000 + X を追加しようとしても、1 + X が返されますが、その理由はわかりません。
誰かが私を正しい方向に向けることができますか? どんな助けでも大歓迎です、ありがとう。
VS 2010 の使用
c++ - 3 つの整数 (またはおそらく git/SVN commit/rev. string) から constexpr バージョン文字列を生成する方法は?
私が持っていると言う
そして私は欲しい
この例で同等のものを返すには"1.10.0"
、どうすればよいでしょうか?
これらの両方が必要になると思いますconstexpr
:
- 整数から文字列への変換
- 文字列連結
constexpr
問題は純粋に学術的なものであり、「可能である」以外に実際にそれを持っていてもほとんどまたはまったく役に立たないと思います。これがどのようにうまくいくかはわかりません。GCC 4.9 および Clang 3.4/3.5 で動作する C++1y ソリューションを喜んで受け入れます。
私はいくつかの日本のブログで私が探していたもののほとんどを見つけたと信じています:
私はこれらで何ができるかを見て、結果に満足したら、おそらくこの自己宣言した興味深い質問に自分で答えます.