Skip to main content

IAR Embedded Workbench for Arm 9.70.x

基本データ型整数型

このセクションの内容:

コンパイラは、標準のCの基本データ型のすべてと追加のデータ型の両方をサポートします。

整数型概要

以下の表に、各整数型のサイズと範囲の一覧を示します。

データ型

サイズ

範囲

アライメント

bool

8ビット

0~1

1

char

8ビット

0~255

1

signed char

8ビット

-128~127

1

unsigned char

8ビット

0~255

1

signed short

16ビット

-32768~32767

2

unsigned short

16ビット

0~65535

2

signed int

32 ビット

-231~231-1

4

unsigned int

32 ビット

0~232-1

4

signed long 32ビットモードおよび64ビットモードのILP32

signed long 64ビットモードのLP64

32ビット

64ビット

-231~231-1

-263~263-1

4

unsigned long 32ビットモードおよび64ビットモードのILP32

unsigned long 64ビットモードのLP64

32ビット

64ビット

0~232-1

0~264-1

4

signed long long

64 ビット

-263~263-1

8

unsigned long long

64 ビット

0~264-1

8

表97 整数型 


符号付変数は、2の補数フォーマットで表現されます。

bool型

bool型は、C++言語のデフォルトでサポートされています。言語拡張を有効化し、stdbool.hファイルをインクルードした場合は、bool型をCソースコードでも使用できます。この場合は、論理値のfalseおよびtrueも使用可能になります。

enum型

コンパイラでは、enum定数の保持に必要な最小の型を使用し、unsignedよりもsignedを優先します。

IARの言語拡張が有効化されている場合や、C++においてはenum定数および型をlongunsigned longlong はlong、またはunsigned long long型のいずれかにすることも可能です。

コンパイラで自動的に使用される型より大きな型を使用するには、enum定数を十分に大きな値で定義します。以下に例を示します。

/* Disables usage of the char type for enum */
enum Cards{Spade1, Spade2,
           DontUseChar=257};

C++ enum struct構文も参照してください。

関連情報については、‑‑enum_is_intを参照してください。

char型

char型は、コンパイラのデフォルトでは符号なしですが、--char_is_signedコンパイラオプションを使用して符号付にすることが可能です。

注記

ただし、ライブラリはchar型は符号なしでコンパイルされています。

wchar_t型

wchar_tデータ型は4バイトでUTF-32のエンコードを使用します。

char16_t型

char16_tデータ型は2バイトでUTF-16のエンコードを使用します。

char32_t型

char32_tデータ型は4バイトでUTF-32のエンコードを使用します。