unsigned long型など 使い方と詳細のまとめ

unsigned long型を使う子供達C言語
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 型に自動変換される。

まとめ

long型変数を使った計算式

C言語のデータ型ってルールや特徴が複雑で難しいですよね。

そういうときは、特徴をまとめてみると分かりやすいのでオススメですよ。

今回は以上です!

下の記事も役立つと思うので、どうぞ。

ではでは~👋