[管理人さんのサイト開発・運用報告+αの書]

C++ > 型のサイズと範囲を知る


[携帯版(QRコード)] 総閲覧回数:2,267,171回 / 日記拍手:726

作品DB等各サービスの機能追加情報や、技術系・面白系記事を中心に提供。
記事の投稿は基本Twitterでも告知させて頂いています。
連絡は作品DBの論客の方なら私書、DB外ユーザの方ならメールTwitterで可能です。
アクセス記録[推移 / PV内訳(過去1日 / 過去1週間) / 外部アクセス元 (昨日 / 過去1週間) / ログイン論客足跡]
プロフィール私書(メール)
   /   /送済
評価(一覧   /)
投票   /共:   /
ファン登録
作品/情報/
DB構築()
書き物
[書く]
攻略記事リンク集
My Play List
RSS購読
RSS
日記表示スタイル
リスト/携帯(QRコード)
画像/動画/音声/リンク
表示開始年月
日記内検索

分類
日記の主な内容
サイト運営/開発
検索エンジン情報
・技術ネタ(Berkeley DB,
Linux, Perl, サイト作成)等

サイト管理
全まとめ
サーバー管理
定期処理状況
開発予定
削除提案
作品追加依頼
OP/ED追加依頼
OP/ED not found
作品提案承認欄

格言 fromスクライド
この世の理は即ち速さ
20年かければ馬鹿でも
傑作小説を書ける

助けられたら助け返す
それが俺のルール

強くなるには
一番弱い考えをする事だ
そしてその考えに反逆する



近頃介護DBとかの為に
介護関連の勉強中
<=新記事2008/11/23 Youtube画像表示&HD対応&日記は一括と非一括と分け
=>古記事2008/11/22 PC版の「関連日記」をデフォルトで一括閲覧モードにしました

1. 2008/11/23 C言語 / C++ > C++ > 型のサイズと範囲を知る」
[この書込みのみ表示(記事URL紹介用) / 編集 / 削除 / トラバ送信 / 共有分類に追加(タグ付け)]

segmentation faultやoverflowを避ける為にも自環境の変数のサイズを知っておくことは重要。
ということで型の範囲とサイズを調べるプログラム。
#include <iostream>
#include <limits>
using namespace std;

template<typename T> void showMinMax(){
  T t;
  int size=0;
  size=sizeof(t);
  cout << "size: " << size << endl;
  cout << "min: " << numeric_limits<T>::min() << endl;
  cout << "max: " << numeric_limits<T>::max() << endl;
  cout << endl;
}

int main(){
  cout << "short:" << endl;
  showMinMax<short>();
  
  cout << "int:" << endl;
  showMinMax<int>();

  cout << "long:" << endl;
  showMinMax<long>();

  cout << "float:" << endl;
  showMinMax<float>();

  cout << "double:" << endl;
  showMinMax<double>();

  cout << "long double:" << endl;
  showMinMax<long double>();

  cout << "unsigned short:" << endl;
  showMinMax<unsigned short>();

  cout << "unsigned int:" << endl;
  showMinMax<unsigned int>();

  cout << "unsigned long:" << endl;
  showMinMax<unsigned long>();
}

結果 (VmwareのCent OS 5で)
g++ -o check_limit check_limit.cpp;./check_limit
short:
size: 2
min: -32768
max: 32767

int:
size: 4
min: -2147483648
max: 2147483647

long:
size: 4
min: -2147483648
max: 2147483647

float:
size: 4
min: 1.17549e-38
max: 3.40282e+38

double:
size: 8
min: 2.22507e-308
max: 1.79769e+308

long double:
size: 12
min: 3.3621e-4932
max: 1.18973e+4932

unsigned short:
size: 2
min: 0
max: 65535

unsigned int:
size: 4
min: 0
max: 4294967295

unsigned long:
size: 4
min: 0
max: 4294967295

コメントする
Check

[他の記事も読む]
<=新記事2008/11/23 Youtube画像表示&HD対応&日記は一括と非一括と分け
=>古記事2008/11/22 PC版の「関連日記」をデフォルトで一括閲覧モードにしました

大分類が「C言語 / C++」の記事
この論客の記事全て



作品DB等各サービスの機能追加情報や、技術系・面白系記事を中心に提供。
記事の投稿は基本Twitterでも告知させて頂いています。
連絡は作品DBの論客の方なら私書、DB外ユーザの方ならメールTwitterで可能です。