コンテンツにスキップ

C言語/short

出典: フリー教科書『ウィキブックス(Wikibooks)』

概要

[編集]

short 型は、C 言語で使われる整数型の一つで、通常は 16 ビット(2 バイト)のサイズを持つ整数型です。 short 型は、標準的な int 型よりも小さい範囲の整数を格納するため、メモリの節約が求められる場合や、精度がそれほど必要ない場合に使用されます。C 言語では、 short 型は符号付き( short)および符号なし(unsigned short)の2つのバリエーションがあります。

背景

[編集]

short 型は、C 言語の設計当初から存在しており、整数を格納するための型の選択肢の一つとして、メモリの使用量を最小限に抑える必要がある状況で使用されてきました。int 型が通常 4 バイトを占めるのに対し、 short 型は 2 バイトに収まるため、データが多くて小さな範囲の数値で済む場合に有用です。また、古いコンピュータシステムでは、メモリが限られていたため、 short 型を使って効率的にメモリを節約する設計がなされていました。

short 型の特徴

[編集]
  • サイズ: short 型は、通常 2 バイト(16 ビット)を占めます。ただし、C 言語の標準では、このサイズは保証されておらず、プラットフォームによって異なる場合があります。とはいえ、ほとんどの現代的なコンピュータシステムでは、 short 型は 16 ビットであることが一般的です。
  • 符号付きおよび符号なし: short 型は符号付き( short)および符号なし(unsigned short)として宣言できます。符号付き short は負の値と正の値の両方を格納でき、符号なし unsigned short は 0 から 65,535 までの範囲の整数を格納できます。
  • 範囲: 符号付き short の場合、通常は -32,768 から 32,767 までの範囲を表現できます。符号なし unsigned short は、0 から 65,535 の範囲となります。

使用方法

[編集]

short 型は主に整数型として使用され、より小さな整数値を格納するために使われます。例えば、配列のインデックスや小さな整数値の格納などに使用されることが多いです。以下は、 short 型を使った基本的な例です。

符号付き short の例

[編集]
#include <stdio.h>
int main() {
    short s = 32767;  // 符号付き short 型の変数
    printf("The value of s is: %d\n", s);  // 出力: The value of s is: 32767
    return 0;
}

このコードでは、 short 型の変数 s に 32767 を代入しています。この値は符号付き short の最大値であり、C 言語の標準における 16 ビットの範囲の上限です。

符号なし short の例

[編集]
#include <stdio.h>
int main() {
    unsigned short us = 65535;  // 符号なし short 型の変数
    printf("The value of us is: %u\n", us);  // 出力: The value of us is: 65535
    return 0;
}

ここでは、符号なし short 型の変数 us に 65535 を代入しています。この値は、符号なし short の最大値であり、0 から 65,535 までの範囲で値を格納できます。

short 型の使用例

[編集]

short 型は、通常の整数型と同様に、加算、減算、乗算、除算などの基本的な算術演算に使用できます。 short 型が使用される典型的な場面としては、メモリ効率を重視する場合や、特に小さい範囲の整数を処理する必要がある場合です。

#include <stdio.h>
int main() {
    short a = 10, b = 20;
    short result = a + b;  // 足し算
    printf("The sum is: %d\n", result);  // 出力: The sum is: 30
    return 0;
}

ここでは、 short 型の変数 ab を加算し、その結果を result に格納しています。 short 型は、これらの演算でも問題なく使用できます。

文字列での short 型の利用

[編集]

short 型は、整数値だけでなく、文字列処理などでも使われることがあります。例えば、文字列の長さを測定する際に、16 ビットのサイズで十分な場合、 short 型を使ってメモリ効率を高めることができます。

#include <stdio.h>
int main() {
    short lengths[] = {5, 10, 15, 20};  // short 型の配列を使用
    for (int i = 0; i < 4; i++) {
        printf("Length %d is: %d\n", i + 1, lengths[i]);
    }
    return 0;
}

ここでは、 short 型の配列を使って、複数の文字列の長さを格納しています。 short 型は、サイズが小さいため、必要なメモリを節約する際に有効です。

short 型と他の整数型との関係

[編集]

C 言語では、整数型のサイズはプラットフォームに依存するため、 short 型は他の整数型(例えば、intlong)と異なるサイズを持つことがあります。 short 型の範囲やメモリ使用量を理解し、プラットフォームごとの違いを把握しておくことが重要です。

例えば、 short 型の値がオーバーフローする可能性がある場合、int 型などより大きな整数型に変換して使用することが推奨されます。

結論

[編集]

short 型は、C 言語における基本的な整数型の1つで、通常は 16 ビット(2 バイト)のサイズを持ちます。 short 型は、メモリの節約が求められる場合や、比較的小さな整数を扱う場合に特に有用です。符号付きおよび符号なしのバリエーションがあり、様々な状況で柔軟に使うことができます。 short 型を使う際には、範囲や符号の扱いに注意を払い、プラットフォームによる違いを理解しておくことが重要です。