2012-04-25 8 views
0

C++では、short int、unsigned int、signed int、およびintの違いは何ですか?アプリケーションは何ですか?短いint、unsigned intなどはいつ使用しますか?これらのデータ型の違いは何ですか?

+5

あなたはこれを読む必要があります。http://en.cppreference.com/w/cpp/language/typesを、あなたが本当に戻って、あなたの過去の質問のいくつかを見て、彼らはあなたの質問に答えた場合の答えを受け入れる必要があります(読みこれは:http://meta.stackexchange.com/questions/16721/how-does-accept-rate-work) –

+4

私はこれを十分にdownvoteすることはできません - "この質問は研究努力を示していません。 – ildjarn

+0

今は2016年です。この記事を振り返ってみると、私はなぜこの質問をしたのですか?愚かな私 – Zik

答えて

4

教えてください!ほとんどの場合、int型で

#include <iostream> 
#include <cstdlib> 
#include <limits> 
using namespace std; 

int main(){ 

    cout << "min_int = " << numeric_limits<int>::min() << endl; 
    cout << "max_int = " << numeric_limits<int>::max() << endl; 

    cout << "min_unsigned_int = " << numeric_limits<unsigned int>::min() << endl; 
    cout << "max_unsigned_int = " << numeric_limits<unsigned int>::max() << endl; 

    cout << "min_short = " << numeric_limits<short>::min() << endl; 
    cout << "max_short = " << numeric_limits<short>::max() << endl; 

    cout << "min_unsigned_short = " << numeric_limits<unsigned short>::min() << endl; 
    cout << "max_unsigned_short = " << numeric_limits<unsigned short>::max() << endl; 

    return EXIT_SUCCESS; 
} 
+1

プログラミングの質問の90%に最適な答え:それを試して見てみましょう! – chris

+0

私がこれを持っている問題は、あなたがこれらの限界が変わるかもしれないことを理解することなく、これがあなたが今まで持っている唯一の価値だと思う罠に陥るかもしれないということです。 –

+0

Jamesが正しいです。表示されるサイズはアーキテクチャに依存しますが、符号なし変数は負であってはいけません。intは常にshortよりも長く、longは常にintより長くなります。 –

1

あなたが厳密でない負の数、符号なしで作業しようとしている場合、何をしたいです良いです。しかし、しばしば標準ライブラリ関数はエラーのために負の値を返します。

ショートは、主メモリの最適化として、ネットワークまたはファイル形式とインターフェースするために大きなデータ構造に小さな値のために使用されます。

1

他の人が負の値を渡すことを制限するために、または渡された値の符号をチェックしなくてもよいようにするために、正の数だけを受け入れる関数を作成する場合は、符号なしint。もちろん、これは、誰かが負のintをunsigned intにキャストするのを止めるものではありません。これは関数を巨大な数値として解釈する結果になります(最上位ビットは以前の負の数を表すために1になります)が、その値をキャストする人の誤りです。

関連する問題