データ型とサイズ
C言語の変数型とそのサイズ
一般的な変数型とそのサイズ一覧
https://guminote.sakura.ne.jp/wp-content/uploads/2020/12/C-MicroComputer-1-1024x719.png
問題点:
コンパイラ・処理系により変数のサイズが異なる。
例:int型は、VS C++やSTM32マイコン(ARMマイコン)では4バイト、 AVRマイコンでは2バイトの整数型として定義される。
これを避ける為に、 「stdint.h」というヘッダで下記変数型が定義されている。
https://guminote.sakura.ne.jp/wp-content/uploads/2020/12/C-MicroComputer-2-1024x494.png
マイコンのプログラムでは、特に意識しなくても、stdint.hがどこかでインクルードされている事が多い。
変数型は、出来る限り小さいのを使う方が良い
理由:
マイコンのRAM容量は小さい為。
8ビットマイコンの場合、大きいサイズの変数型を用いると、計算時間に時間がかかってしまう。
32ビットマイコンで4バイト整数型は一度に実行するが、
8ビットマイコンで4バイト整数型は、1バイトごとに行われる為。
2,8,10,16進数の表記の仕方:
2進数:0bから始まる
8進数:0から始まる
16進数:0xから始まる
例:
code:c
/* numericals1.c 数値の表し方 */
int main(void)
{
int n;
n = 0b10100; /* 2進表記 */
printf("n = %d\n", n);
n = 024; /* 8進表記 */
printf("n = %d\n", n);
n = 20; /* 10進表記 */
printf("n = %d\n", n);
n = 0x14; /* 16進表記 */
printf("n = %d\n", n);
return 0;
}
マイコンでは、ビット操作をするため、2進数がよく使われる。