数か月前、私は 64 ビット Windows を搭載した CPU intel i7-2630qm を搭載したラップトップを手に入れました。このシステムでプログラミング スキルを練習しているときに、整数サイズに関していくつかの違いに遭遇しました。これは、おそらく新しい 64 ビット システムによるものだと思います。
コードを見てみましょう。
Cコード:
#include <stdio.h>
int main(void)
{
int num = 20;
printf("%d %lld\n" , num , num);
return 0;
}
質問 :
20
1.) この新しいラップトップを入手する前のことを覚えています。つまり、古い 32 ビット システムをまだ使用しているということです%lld
。 .
2.)しかし、この現象は、新しいラップトップを使用しているときに発生しなくなりました。代わりに、変数num
を type に変更しても、両方の整数が正しく出力されshort
ます。
3.)それは 64 ビット システム上にありint
、引数として使用すると long long に昇格する新しい整数昇格がありますか??または、引数として渡すと 64 ビットにもshort
昇格できる整数ですか? long long
?
int
4.)それに加えて、16ビットシステムでは16ビットであり、32ビットシステムでは32ビットになるという1つのことでかなり混乱しています.しかし、なぜ64にならないのですか? 64ビットの場合はビット??
================================================== ================================ アドオン:
1.)新しいラップトップを使用している間、IDE のプロジェクトとして「コンソール プログラム (64 ビット)」を選択しましたが、32 ビットの古い PC システムでは「コンソール プログラム」を選択しました。
2.)演算子をint
使用して「コンソール プログラム (64 ビット)」プロジェクトのサイズを確認したところ、 16ビットのままsizeof
で 32 ビットが返されます。通常の 64 ビット サイズ。short
long
long long