1989年開業 技術士 佐伯英子(情報工学部門) 文部科学省登録番号 第22082号 日本技術士会会員 東大阪商工会議所会員

≫サンプルプログラム一覧 

オープンソース/C言語サンプルプログラム 整数型データの内部形式

●整数を入力し、格納された変数のアドレスと内部形式を
 画面に表示するプログラムです。
●4バイト分のメモリダンプになります。
●内部表現のバイト位置が、上位・下位反転していることが
 わかります。
   ≫ソースファイルのダウンロード: pointer01.c

【問題】
●負の数を入力すると、2の補数表現になっていることを
 確認しよう。
●整数型変数 a のアドレスを、文字型ポインタに型キャスト
 変換する理由は何か。
●アドレスと内容を表示するprintf関数呼び出し4行を、
 for文を使って1行にしてみよう。
//  整数型データの内部形式
#include <stdio.h>
#include <stdlib.h>
void  main( )
{
   char    c[128],*cp;
   int     a;

    printf("\n*** 整数型データの内部形式を16進数で表示します ***\n\n");

    printf("\n整数を入力してください: "); fflush(stdout);
    gets(c); a=atoi(c);

    cp=(char*)&a;                                   // aのアドレス
                                                    // 文字型ポインタに型キャスト

    printf("\n入力データが格納されているアドレスは %P です\n\n",cp);

    printf("内容を上位バイトから表示すると次のようになります\n");
    printf("アドレス:%P  内容:%02X\n",cp  ,*cp);
    printf("アドレス:%P  内容:%02X\n",cp+1,*(cp+1));
    printf("アドレス:%P  内容:%02X\n",cp+2,*(cp+2));
    printf("アドレス:%P  内容:%02X\n",cp+3,*(cp+3));
}
   

※SSL暗号化通信対応

佐伯英子技術士事務所 〒542-0073 大阪市中央区日本橋 1-14-13 サンオフィス日本橋601  E-mail: info@saeki-pe.com