問題タブ [cstdint]
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++ - stdint.h でシンボルが見つかりません
C++ ソース コードに Apportable を使用すると、 で定義されたシンボルが見つかりませんstdint.h
。
このコードは Xcode でうまく機能し、このエラーは Apportable でのみ発生しました。を追加しまし#include <cstdint>
たが、効果がありませんでした。
これが私の現在の.cpp
ファイルです。
私は何が欠けていますか?
bit-shift - 16 ビット整数を 8 ビット整数に変換しますか?
16 ビットの符号と大きさの整数を 8 ビットの符号と大きさの整数にコピーする C コードを実装しています。それは可能ですか?誰かがこれを行う方法を説明してもらえますか?
コードスニペット:
最初の 2 桁を変数 b にコピーし、次の 2 桁を変数 c にコピーする方法は?
c++11 - C++11 uint 型と u_int の比較
u_int8_t
Windows + MinGW でコンパイルされなかった (ただし、Linux では正常にコンパイルされた) ため、この型に出くわしました。このサイトによると、C++11 標準は type を定義していuint8_t
ます。後者を使用しただけで、すべてが機能しました。
発生した質問は次のとおりです。
- と の間に違いは
u_int8_t
ありuint8_t
ますか? - 使用する理由 (レガシー コード以外) はあります
u_int8_t
か? uint8_t
(異なる OS またはアーキテクチャで) C++11 コンパイラを使用する場合、それが存在すると想定しても安全ですか?- 上記の質問に対する回答は、他のタイプ (
intX_t
およびuintX_t
) にも有効ですか?
c++ - Bluez ライブラリは多くの問題を引き起こします
コードブロックで raspberry pi B+ の C++ プロジェクトをコンパイルしようとしています。コードはここから取得されます
[std=c++0x] フラグを使用した GCC 4.6 では、次のエラーが表示されます。
ご覧のとおり、線が<cstdint>
ありusing namespace std
ます。私は何を間違っていますか?
c++ - cstdint typedefs は、std::numeric_limits が特化されていない実装固有の型にバインドできますか?
少なくとも理論的には、cstdint typedefs が std::numeric_limits が特化されていない実装固有の型にバインドされる可能性はありますか?
http://www.cplusplus.com/reference/limits/numeric_limitsによると、「[std::numeric_limits] はすべての基本的な算術型に特化されており、そのメンバーは型 T のプロパティを記述しています。このテンプレートは、他のタイプに特化する必要があります。」
http://en.cppreference.com/w/cpp/types/numeric_limitsによると、もう一度引用させてください、「実装は、実装固有の型に対して std::numeric_limits の特殊化を提供することがあります」。
「5月」、cppreferenceは言います。だから彼らはする必要はありません。
そして最後に、http: //www.cplusplus.com/reference/cstdint によると、ヘッダーで定義されている typedef は「基本的な整数型または拡張整数型の typedef です」。
要約すると、 cstdint typedefsは基本的な整数型ではない拡張整数型(それらが何であれ) にバインドされる可能性があるため、 std::numeric_limits と互換性がない可能性があります。これは正しいです?
ただし、私がリンクしたドキュメントは、ある点で少し矛盾しているようです。std::numeric_limits が実装固有の型に特化されている可能性があるという cppreference の許容に反して、std::numeric_limits を非基本的な算術型に特化してはならないという cplusplus.com の禁止事項ではありませんか? もちろん、これらの実装固有の型が実際には 基本的な整数型でない限り、うまくいけば、std::numeric_limits はすべての cstdint typedef に特化する必要があります。
ドキュメントは私を混乱させます。だから私はここで私の質問をします:)
編集。
http://eel.is/c++draft/cstdintによると、cstdint は整数型にバインドする必要があります。http://eel.is/c++draft/limits.numericによると、「bool を含む、浮動小数点と整数の両方の算術型ごとに特殊化を提供する必要があります」。整数型は算術型であるため、std::numeric_limits を cstdint typedefs に特化する必要があるという理解は正しいですか?
c - 標準整数はどのようにコンパイル時に翻訳?
C では、同じソース コードで異なるプロセッサ アーキテクチャをターゲットにすることが一般的 (または少なくとも可能) です。また、プロセッサ アーキテクチャによって整数サイズの定義が異なることもよくあります。コードの移植性を高め、整数サイズの制限を回避するには、C 標準の整数ヘッダーを使用することをお勧めします。ただし、これが実際にどのように実装されているかについては混乱しています。
x86 用に書かれた小さな C プログラムを作成し、それを 8 ビット マイクロコントローラーに移植することにした場合、マイクロコントローラー コンパイラーは 'uint32_t' をネイティブの整数型に変換する方法をどのように認識しますか?
C コンパイラを作成する際にマッピング要件はありますか? コンパイラを C99 互換にする場合、すべての uint32_t をネイティブ型に置き換えるマッピング機能が必要ですか?
ありがとう!
c - Windows 10 で DOSBox SVN Daum をコンパイルしようとしたときの Visual Studio 2015 C ヘッダー関連の問題
Windows 10 で DOSBox SVN Daum をコンパイルしようとしているときに、明らかに VS2015 にとって新しいヘッダー関連の問題が発生しています。例:
私の検索では、この種の問題がプロジェクトで発生していることがわかりましたが、修正できませんでした。
特に、VisualStudio 2015 RC Issue with includesとhttps://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/を読み、AppData\Local の内容を変更しました。 \Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props へ:
しかし、運はありません。:(
画像:
私は経験豊富な C プログラマーではありません。何が足りないのか誰か教えてください。ありがとう!
c++ - FOREX 価格を格納するために使用するデータ型、スキーム、およびビット数は?
典型的なFOREX価格は小数点第4位まで実行されます。たとえば、今日の USD に対する GBP の現在の価格は1.2515です。この価格が小数点以下の桁数まで表示されているのを見てきました。
これは実際には 2 つの部分からなる質問です。
初め
私が考えている計画は次の2つです。
a)浮動小数点型。double
思い浮かびます。ここで丸め誤差が少し気になります。
b)小数部分と整数部分を別々に格納する整数型。
他に現実的なオプションはありますか?
それら(上記)のうち、どれが正しいですか?
2番
<cstdint>
どちらのスキームでも、ライブラリを介して使用されるビット数を正確に指定します。
何ビットが意味がありますか?
精度、メモリ/ストレージのコスト、そして (もちろん) パフォーマンスのバランスをとろうとしています。
Thx、キース :^)