84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
我知道这个问题~有点无厘头和傻乎乎。还是想请人解答一下~----------可能目前脑子正处于抽风阶段----------首先,我知道int占4个字节,包含正负2的31次方内的数字,也就是基本可以表示10位数字。那么根据Ascll里,一个数字占用一个字节的规则来思考。我让int按照这种规则来储存数字,是不是应该只能储存最多4位数字???还请明白人~指出我这样思考的错误点在哪里?或者告知正确的解答方式~。
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
文字と数値の表現方法が異なります。ASCIIコードの数字は数値ではなく、エンコーディングによって表現された文字です。したがって、各数字は7ビットを占有します(拡張ASCIIコードは8ビットを占有します)。 。たとえば、12 は、ASCII コードでは 0110001 0110010 (1 文字または 2 文字の数字からなる文字列を表し、12 の大きさの意味はありません) と表現され、int では 00000000 00000000 00000000 00001010 と表現されます。値 12 の整数を表します。1 と 2 は割り切れません。 。つまり、コンピュータ内では数値と文字の表現方法が異なり、intはASCIIコードで表現されません
ASCII は数値の表現ではなく、文字の表現を定義します。コンピューターが数値と文字列を格納する方法は異なります。
コンピュータが実際に格納するのは 2 進数であり、1 バイトは 8 ビットで表現されます。最大値は 2 の 8 乗 - 1 です。同様に、4 バイトは 32 ビットです。表現できる最大値は2の32乗-1です。マイコンの原理を理解していれば分かります。同時に、最初のビットは通常、正と負を示す符号ビットであるため、0 が正、1 が負であるため、符号付き数は 2 の 31 乗 -1 になります。 int、long、double などの語長はコンパイラの規則です。たとえば、初期の 16 ビット マシンの int は 16 ビットで、最大値は 65535 です。最新の VS バージョンでは、int は 4 です。バイトと 32 ビット。ASCII エンコーディングを見逃していました。ASCII コードは 1 文字を占め、上位 4 ビットと下位 4 ビットが表を形成していることがわかります。 256文字まで。 ASCII は実際には文字列です。
それは 2 つのことのように感じます。 int が 4 バイトを占めるという制限は、int が到達できる最大値です。 AscII では、数値が占めるスペースは 1 バイトであると規定されており、これは物理的なスペースであり、その数字が占めるスペースの量を表します。理論的には、このスペースは無限に大きくすることができ、ハードディスクが十分である限り、無限に長くすることができます。 int の 4 バイトは、宣言された値が占める領域を指します。宣言された値が特定の上限および下限 (プラスまたはマイナス 2 の 31 乗) に達すると、オーバーフローします。ハードドライブがどれほど大きくても、この制限は同一のマシン上では変わりません。こんな感じで理解していただけるでしょうか。
ascii内の数字は、文字の角度である'1'を指します。角度が違うので全く間違えません。
ascii
'1'
ASCII はエンコード仕様であり、int はメモリ内で表されるストレージ タイプです。車の定員が 5 人であるのと同じように、それ以上の人が乗車すると交通警察が罰します。これは誰が乗っているのか、名前は何ですか、ID 番号は何ですか? これは ASCII によって規制されています。コード。
int = 4 ビット (bit) ではなく、4 バイト (Byte)
1 バイト = 8 ビット
1 ビット = 0 または 1
1バイト = 0-255
現実の 10 進法:10 進数 1 桁 = 0-910 をすべて 1 に変換同じことが 2 進法にも当てはまります1 ビット = 0-1フル1 を 1 に変換int 0 のバイナリ表現は次のとおりです: 000000000000000000000000000000+1 の結果は: 0000000000000000000000000000001+1 の結果は: 0000000 000000 0000000000000000010に +1 を加算した結果は: 000000000000000000000000000000100と +1000: 0000000000000000000001111101011
1、2、12 は 2 つの異なる概念です。 1バイトは8ビットの2進数なので、intは2の31乗以内の数値を表現できます。たとえば、1212 は、ASCII で保存すると 1 2 1 2、int で保存すると 1,212 になります
int は char ではなく数値を格納します
1 バイトは 8 ビットです4 バイトは 32 ビットですつまり、int は 32 ビットですただし、int は符号付き整数です。表現できる最大数は 31 1 ですつまり、2の31乗 - 1
文字と数値の表現方法が異なります。ASCIIコードの数字は数値ではなく、エンコーディングによって表現された文字です。したがって、各数字は7ビットを占有します(拡張ASCIIコードは8ビットを占有します)。 。たとえば、12 は、ASCII コードでは 0110001 0110010 (1 文字または 2 文字の数字からなる文字列を表し、12 の大きさの意味はありません) と表現され、int では 00000000 00000000 00000000 00001010 と表現されます。値 12 の整数を表します。1 と 2 は割り切れません。 。つまり、コンピュータ内では数値と文字の表現方法が異なり、intはASCIIコードで表現されません
ASCII は数値の表現ではなく、文字の表現を定義します。コンピューターが数値と文字列を格納する方法は異なります。
コンピュータが実際に格納するのは 2 進数であり、1 バイトは 8 ビットで表現されます。最大値は 2 の 8 乗 - 1 です。同様に、4 バイトは 32 ビットです。表現できる最大値は2の32乗-1です。マイコンの原理を理解していれば分かります。同時に、最初のビットは通常、正と負を示す符号ビットであるため、0 が正、1 が負であるため、符号付き数は 2 の 31 乗 -1 になります。 int、long、double などの語長はコンパイラの規則です。たとえば、初期の 16 ビット マシンの int は 16 ビットで、最大値は 65535 です。最新の VS バージョンでは、int は 4 です。バイトと 32 ビット。
ASCII エンコーディングを見逃していました。ASCII コードは 1 文字を占め、上位 4 ビットと下位 4 ビットが表を形成していることがわかります。 256文字まで。 ASCII は実際には文字列です。
それは 2 つのことのように感じます。 int が 4 バイトを占めるという制限は、int が到達できる最大値です。 AscII では、数値が占めるスペースは 1 バイトであると規定されており、これは物理的なスペースであり、その数字が占めるスペースの量を表します。理論的には、このスペースは無限に大きくすることができ、ハードディスクが十分である限り、無限に長くすることができます。 int の 4 バイトは、宣言された値が占める領域を指します。宣言された値が特定の上限および下限 (プラスまたはマイナス 2 の 31 乗) に達すると、オーバーフローします。ハードドライブがどれほど大きくても、この制限は同一のマシン上では変わりません。こんな感じで理解していただけるでしょうか。
ascii
内の数字は、文字の角度である'1'
を指します。角度が違うので全く間違えません。ASCII はエンコード仕様であり、int はメモリ内で表されるストレージ タイプです。車の定員が 5 人であるのと同じように、それ以上の人が乗車すると交通警察が罰します。これは誰が乗っているのか、名前は何ですか、ID 番号は何ですか? これは ASCII によって規制されています。コード。
int = 4 ビット (bit) ではなく、4 バイト (Byte)
1 バイト = 8 ビット
1 ビット = 0 または 1
1バイト = 0-255
現実の 10 進法:
10 進数 1 桁 = 0-9
10 をすべて 1 に変換
同じことが 2 進法にも当てはまります
1 ビット = 0-1
フル1 を 1 に変換
int 0 のバイナリ表現は次のとおりです: 000000000000000000000000000000
+1 の結果は: 0000000000000000000000000000001
+1 の結果は: 0000000 000000 0000000000000000010
に +1 を加算した結果は: 000000000000000000000000000000100
と +1000: 0000000000000000000001111101011
1、2、12 は 2 つの異なる概念です。 1バイトは8ビットの2進数なので、intは2の31乗以内の数値を表現できます。たとえば、1212 は、ASCII で保存すると 1 2 1 2、int で保存すると 1,212 になります
int は char ではなく数値を格納します
1 バイトは 8 ビットです
4 バイトは 32 ビットです
つまり、int は 32 ビットです
ただし、int は符号付き整数です。
表現できる最大数は 31 1 です
つまり、2の31乗 - 1