unsigned longを勉強中の人
unsigned longについて詳しく知りたいな。
特徴とか詳細を表にしてまとめて欲しい…
ついでに、似たようなデータ型も解説して…
こちらの悩みを解決しますね。
こんにちは。
C言語プログラマーのMuuです。
疑問に思ったことがいくつかあって、調べてみました。
せっかくなので、同じような人のためにブログでまとめてみようと思います。
unsigned longの使い方と詳細
データ型 | unsigned long |
バイト長 | 4 |
種類 | 整数型 |
名称 | 符号なし長整数型 |
値の範囲 | 0~4294967295 |
その他の特徴 | 負の値は扱えない |
たとえばArduinoでプログラムを実行からの時間をミリ秒単位で返すときに使います。
unsigned long tm;
void setup() {
Serial.begin(9600);
}
void loop() {
tm = millis() / 1000;
Serial.print(tm);
Serial.print(",");
delay(1000);
}
unsigned long intの使い方と詳細
unsigned long intの別名です。
詳細は上の解説をご覧ください
unsigned long longの使い方と詳細
データ型 | unsigned long long |
バイト長 | 8 |
種類 | 整数型 |
名称 | 符号なし長長整数型 |
値の範囲 | 0~18446744073709551615 |
その他の特徴 | 負の値は扱えない |
unsigned long long intの使い方と詳細
unsigned long longの別名です。
詳細は上の解説をご覧ください。
注意事項:覚えておくべき特徴
2つの変数「a」、「b」を例に解説します。
たとえば、
a+=b;
のような形のときに覚えておくべき特徴です。
- aがlong double型なら、bはlong doubleに自動変換される
- aがdouble型なら、bはdoubleに自動変換される
- aがfloat型なら、bはfloatに自動変換される
- aがunsigned long long int型なら、bはunsigned long long intに自動変換される
- aがlong long int型なら、bはlong long intに自動変換される
- aがunsigned long int型なら、bはunsigned long intに自動変換される
- aがlong int型でbがunsigned int型ならどちらもunsigned long intに自動変換される
- aがlong int型なら、bはlong intに自動変換される
- aがunsigned int型なら、bはunsigned intに自動変換される
これ以外の場合、両オペランドは int 型に自動変換される。
まとめ
C言語のデータ型ってルールや特徴が複雑で難しいですよね。
そういうときは、特徴をまとめてみると分かりやすいのでオススメですよ。
今回は以上です!
下の記事も役立つと思うので、どうぞ。
ではでは~👋
コメント