No.1ベストアンサー
- 回答日時:
long は 32ビットの整数(signedの場合 -2147483648~+2147483647、unsignedの場合
0~4294967295)
int は システムにおける 標準
という定義です。
32ビットシステムの場合は同じになります。
DOS時代はシステムが 16ビットのため、intは -32768~+32767(または 0~65535)でした。
short int とすることで 16ビット互換となります。
この回答への補足
なるほど。
CPUのbit数に依存するのですか。
しかし、新たに疑問が生まれてしましました。
> 32ビットシステムの場合は同じになります。
CPU は i7 2600K
OS は Win7 64bit
を利用しています。
Intel® CoreTM i7-2600K Processor (8M Cache, up to 3.80 GHz)
http://ark.intel.com/products/52214/Intel-Core-i …
ここを見るかぎり64bitCPUなので、
intは64bit分となると思いました。
しかし、VC++ 2010コンパイラでx64としてコンパイルしても
intは64bit分(8バイト分)とらず、
2147483647
2147483647
と出力されました。
なぜなのでしょうか。
64bit CPU / 64bit OSでもintは32bitが上限なのでしょうか。
今後128bit OSや128bit CPUが出てきた時もintは32bitが上限となるのでしょうか。
No.4
- 回答日時:
たまたま両者がそういう環境だったから。
int: 少なくとも-32767~32767の整数が扱える。
long: 少なくとも-2147483647~2147483647の整数が扱える。
扱える値の範囲が long >= int
上記の条件さえみたせばC(C99)としては問題ありませんので。
ちなみにLONG_MAXを出力するなら
>printf("%d\n%d", INT_MAX, LONG_MAX);
のフォーマットは不適切です。
この回答への補足
> ちなみにLONG_MAXを出力するなら
> >printf("%d\n%d", INT_MAX, LONG_MAX);
> のフォーマットは不適切です。
たしかにその通りです。
printf("%d\n%ld", INT_MAX, LONG_MAX);
とすべきでした。
No.3
- 回答日時:
int型はコンパイラによって、ビット長が変わります。
基本的にCPUのビット数がint型のビット長となります。
16ビット以下のシステムでは、int型は暗黙の了解で16ビットとなるものが多いです。
16ビット型の整数として使いたい場合は、short型を使用してください。
int型のサイズが知りたい場合は、INT_MAXを使うか、sizeof関数を使用してください。
この回答への補足
> 基本的にCPUのビット数がint型のビット長となります。
No.1 / No.2 さんへの補足と被りますが、
64bit CPUであれば64bit = 8バイト
128bit CPUであれば128bit = 16バイト
となるのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# プログラミングペーパーテスト 次の問題の実行結果を答えろ #include int x[ ] = { 1 2022/06/16 21:49
- C言語・C++・C# アセンブラ指令 3 2023/06/17 14:47
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# プログラミングの授業のペーパーテスト 実行結果を答えろ #include int x[ ] = {1 3 2022/06/16 20:08
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
あなたにとってのゴールデンタイムはいつですか?
一週間の中でもっともテンションが上がる「ゴールデンタイム」はいつですか? その逆で、一週間でもっとも落ち込むタイミングでも構いません。 よかったら教えて下さい!
-
とっておきの手土産を教えて
お呼ばれの時や、ちょっとした頂き物のお礼にと何かと必要なのに 自分のセレクトだとついマンネリ化してしまう手土産。 ¥5,000以内で手土産を用意するとしたらあなたは何を用意しますか??
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
お風呂の温度、何℃にしてますか?
みなさん、家のお風呂って何℃で入ってますか? ぬるめのお湯にゆったり…という方もいれば、熱いのが好き!という方もいるかと思います。 我が家は平均的(?)な42℃設定なのですが、みなさんのご家庭では何℃に設定していますか?
-
char*を初期化したいのですが
C言語・C++・C#
-
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
型について
C言語・C++・C#
-
-
4
fgetsなどのときのstdinのバッファを消すには?
C言語・C++・C#
-
5
C言語で、メモリを解放しないで終わるプログラム
C言語・C++・C#
-
6
charでの計算?
C言語・C++・C#
-
7
複数桁10進数の*桁目だけを抽出したい
C言語・C++・C#
-
8
C言語 配列の長さの上限
C言語・C++・C#
-
9
バッファとは何ですか
C言語・C++・C#
-
10
文字列の切り出し
C言語・C++・C#
-
11
C言語の型による処理速度の違い
C言語・C++・C#
-
12
DWORDの実際の型は何でしょうか
C言語・C++・C#
-
13
unsigned long long 型のフォーマット指定子
C言語・C++・C#
-
14
カンマ区切りのデータを配列に読み込みたい
C言語・C++・C#
-
15
0除算して、落ちるプログラムと落ちないプログラム
C言語・C++・C#
-
16
C言語のサフィックスについて
C言語・C++・C#
-
17
複数の変数を宣言する時、同時に初期化?できないでしょうか?
Java
-
18
配列を使わずに、変数名を動的にループで回したい
C言語・C++・C#
-
19
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
20
C言語でヘッダファイルにグローバル変数を宣言する
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
intとlongは同じ?
-
再起呼び出しの回数をカウント...
-
2の補数を計算するプログラム
-
C++ bmp 透過処理
-
コマンドプロンプトのウィンド...
-
opencvとmbedのシリアル通信で...
-
画像の拡大・縮小
-
最大の四角形を求めるプログラム
-
乱数生成について
-
関数とビット列
-
C言語で簡単なパックマンゲーム...
-
OpenCVによる4値化について
-
C言語 5) 正の整数 n を入力(...
-
複数の共有メモリの作成
-
組織的ディザ法のプログラムが...
-
c++ TCHARで文字化け
-
分数の足し算をさせるプログラ...
-
強連結判定を行うプログラムに...
-
「指定されたキャストは有効で...
-
信頼区間の1.96や1.65ってどこ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2の補数を計算するプログラム
-
intとlongは同じ?
-
再起呼び出しの回数をカウント...
-
C言語で%を使わない余りの出し方
-
カードシャッフルのブログラム...
-
OpenCVによる4値化について
-
C++で表を作成したいのです ...
-
分数の足し算をさせるプログラ...
-
条件が多い場合
-
画像の拡大・縮小
-
ヌメロンのプログラム
-
C言語で簡単なパックマンゲーム...
-
関数とビット列
-
C++ bmp 透過処理
-
コマンドプロンプトのウィンド...
-
3のつく数と3の倍数を表示 C言語
-
異なるn個の整数からr個の整数...
-
迷路を脱出する経路探索プログ...
-
whileとifを使い偶数を出すには
-
再帰処理をループ処理に変換
おすすめ情報