0

MPLAB IDE のデータ型 ( intunsigned intfloat、...)のサイズunsigned floatは?char

4

5 に答える 5

6

これは、コードをコンパイルする 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 の標準ではないいくつかの型 ( ) が含まれることに注意してください。

于 2009-11-10T10:25:43.200 に答える
2

int、long などの値は、すべてのコンパイラで標準的に定義されることはありません (参照)。このため、次のライブラリを使用することをお勧めします。

#include <stdint.h>

このライブラリを独自の目的で利用するには、次のコードを使用してみてください。

typedef uint8_t    BYTE
typedef uint16_t   WORD
typedef uint32_t   LONG

次に、これらを使用して変数を定義します。このメソッドは通常、integer.h ファイルを使用してこれらの定義を保存し、必要な場所に含めます。

于 2016-01-21T12:31:24.227 に答える
1

私はそのような一般化を警戒します。MPLAB は単なる IDE であり、さまざまなチップに適しています。Microchip には、PIC18F のような 8 ビット コントローラ、16 ビットおよび 32 ビット コントローラがあります。それぞれのデータ型は異なる場合があり、パフォーマンスに重大な影響を及ぼします。つまり、8 ビット チップの場合、16 ビットと 32 ビットのデータ型がソフトウェアでエミュレートされる可能性がありますが、これは必ずしも必要なものではありません。

于 2009-11-10T18:17:19.447 に答える