MPLAB IDE のデータ型 ( int
、unsigned int
、float
、...)のサイズunsigned float
は?char
5 に答える
これは、コードをコンパイルする CPU を知らずに行うのは困難です。たとえば、PIC18 用の Microchip の C18 コンパイラを想定すると、ユーザー ガイドには次の基本的な型サイズが記載されています。
TYPE SIZE RANGE
char(1,2) 8 bits -128 127
signed char 8 bits -128 127
unsigned char 8 bits 0 255
int 16 bits -32,768 32,767
unsigned int 16 bits 0 65,535
short 16 bits -32,768 32,767
unsigned short 16 bits 0 65,535
short long 24 bits -8,388,608 8,388,607
unsigned short long 24 bits 0 16,777,215
long 32 bits -2,147,483,648 2,147,483,647
unsigned long 32 bits 0 4,294,967,295
これにはshort long
、C の標準ではないいくつかの型 ( ) が含まれることに注意してください。
int、long などの値は、すべてのコンパイラで標準的に定義されることはありません (参照)。このため、次のライブラリを使用することをお勧めします。
#include <stdint.h>
このライブラリを独自の目的で利用するには、次のコードを使用してみてください。
typedef uint8_t BYTE
typedef uint16_t WORD
typedef uint32_t LONG
次に、これらを使用して変数を定義します。このメソッドは通常、integer.h ファイルを使用してこれらの定義を保存し、必要な場所に含めます。
私はそのような一般化を警戒します。MPLAB は単なる IDE であり、さまざまなチップに適しています。Microchip には、PIC18F のような 8 ビット コントローラ、16 ビットおよび 32 ビット コントローラがあります。それぞれのデータ型は異なる場合があり、パフォーマンスに重大な影響を及ぼします。つまり、8 ビット チップの場合、16 ビットと 32 ビットのデータ型がソフトウェアでエミュレートされる可能性がありますが、これは必ずしも必要なものではありません。