雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。
  • ソース を表示
  • 型キャスト は削除されています。
4: 2007-03-08 (木) 22:47:51 ソース バックアップ No.4 を復元して編集 5: 2007-03-17 (土) 22:25:26 ソース バックアップ No.5 を復元して編集
Line 15: Line 15:
普通のコンピュータの素子は1bit(ビット)。0と1しか記憶できない。で、それを8個集めた単位が1byte(バイト)。(つまり8bit=1byteになる) 普通のコンピュータの素子は1bit(ビット)。0と1しか記憶できない。で、それを8個集めた単位が1byte(バイト)。(つまり8bit=1byteになる)
-言語の変数上の素子はたいていこの1byteになる。(素子=最低単位)+|>|>|>|>|>|>|>|CENTER:1バイト| 
 +|0|0|1|0|1|0|0|0|
-よって変数の最低単位は1byteになる。+CENTER:↑ 
 +CENTER:0と1の二つしか表現できない最小単位bit(ビット)。8個集まって1Byte(バイト)になる 
 + 
 +
 +
 +COLOR(blue){経験則だが、普通多くの言語はこの1バイトを最低単位とする。それ以下のビットは特殊な用途で使用することが多い。ちょうどお金の円と銭みたいな感じ} 
 +
 + 
 +
 + 
 + 
 +C言語でも、''基本的には''変数の最低単位はこの1バイトになる。 
 + 
 + 
 +1バイトは2進数で00000000〜11111111。10進数に直すと0〜255までとなる。逆に言えば、たった255しか表現できない困った単位ともいえる。
でもこれじゃ不便なので、複数のバイトで1個という単位の変数が生まれた。 でもこれじゃ不便なので、複数のバイトで1個という単位の変数が生まれた。
Line 168: Line 183:
 int i;  int i;
- p = 0x0010; 
- for(i = 0; i = 4; i = i++)+ for(i = 0x0010; i = 0x0014; i = i+1)
   {    {
 +       p = i;
       printf("データは %d  16進数だと %x だよーん!\n",*p);        printf("データは %d  16進数だと %x だよーん!\n",*p);
-       p = p + 1;+
   }    }
Line 187: Line 202:
さて、このプログラム。コンパイルするとエラーというか、警告が出てきます。型が合わないんです。いったいどこが???? さて、このプログラム。コンパイルするとエラーというか、警告が出てきます。型が合わないんです。いったいどこが????
- p = 0x0010;+ p = i;
-なんと!ここです。おかしいですね?。pはアドレス変数として宣言しています。pに数値を入れればその数値の番地の内容が*pで取り出せるはずです。だからアドレス変数pに、0x0010番地を代入したのですが・・・+なんと!ここです。おかしいですね?。pはアドレス変数として宣言しています。pに数値を入れればその数値の番地の内容が*pで取り出せるはずです。だからアドレス変数pに、変数i(0x0010〜0x0014まで変化してくれる値)を代入したのですが・・・