題名の通り解析をしていて。http://coconut.sys.eng.shizuoka.ac.jp/bmp/というサイトで調べながらやっていたのですが。641,654となるように計算したいのですが、a=76b=cac=09d=00をうまく10進数に変換できません。単体なら何とかなるのですがつながってしまうと少しきついです。(紙の上での計算はできます。9年前ごめんなさい自己解決できました。",&a);a=getc(fp);printf("%c",a);}printf("\n");//ファイルサイズa=getc(fp);b=getc(fp);c=getc(fp);d=getc(fp);printf("0x%02x%02x%02x%02x=>%ld",d,c,b,a,d*256*256*256+c*256*256+b*256+a);fclose(fp);}16進数で計算しても出なかったので、256進数で計算すると出てきました。みた方には大変ご迷惑かけてすいません。",&a);a=getc(fp);printf("%c",a);}printf("\n");//ファイルサイズa=getc(fp);b=getc(fp);c=getc(fp);d=getc(fp);printf("ファイルサイズ\t0x%02x%02x%02x%02x\t%ldバイト\n",d,c,b,a,d*256*256*256+c*256*256+b*256+a);//予約領域(0らしい・・・)for(i=1;i<=2;i++){a=getc(fp);b=getc(fp);printf("予約領域%d\t0x%x%x\n",i,b,a);}//画像データまでのオフセット(意味不明)a=getc(fp);b=getc(fp);c=getc(fp);d=getc(fp);printf("画像データまでのオフセット\t%ld\n",d*256*256*256+c*256*256+b*256+a);//情報ヘッダ//情報ヘッダのサイズa=getc(fp);b=getc(fp);c=getc(fp);d=getc(fp);printf("情報ヘッダのサイズ\t%ld\n",d*256*256*256+c*256*256+b*256+a);//画像の高さa=getc(fp);b=getc(fp);c=getc(fp);d=getc(fp);printf("画像の縦幅\t%ldピクセル\n",mapx=d*256*256*256+c*256*256+b*256+a);//画像の幅a=getc(fp);b=getc(fp);c=getc(fp);d=getc(fp);printf("画像の横幅\t%ldピクセル\n",mapy=d*256*256*256+c*256*256+b*256+a);//プレーン数(常に1)<-不明a=getc(fp);b=getc(fp);printf("プレーン数\t%d\n",b*256+a);//1画素当たりの色数a=getc(fp);b=getc(fp);printf("1画素当たりの色数\t%dビット\n",b*256+a);//圧縮形式a=getc(fp);b=getc(fp);c=getc(fp);d=getc(fp);printf("圧縮形式?\t%ld\n",d*256*256*256+c*256*256+b*256+a);//画像データのサイズa=getc(fp);b=getc(fp);c=getc(fp);d=getc(fp);printf("画像データのサイズ\t%ldバイト\n",d*256*256*256+c*256*256+b*256+a);//水平解像度a=getc(fp);b=getc(fp);c=getc(fp);d=getc(fp);printf("水平解像度\t%ldppg\n",d*256*256*256+c*256*256+b*256+a);//垂直解像度a=getc(fp);b=getc(fp);c=getc(fp);d=getc(fp);printf("垂直解像度\t%ldppg\n",d*256*256*256+c*256*256+b*256+a);//パレットの色数a=getc(fp);b=getc(fp);c=getc(fp);d=getc(fp);printf("パレットの色数\t\t\t%ld\n",d*256*256*256+c*256*256+b*256+a);//重要パレットのインデックスa=getc(fp);b=getc(fp);c=getc(fp);d=getc(fp);printf("重要パレットのインデックス\t%ld\n",d*256*256*256+c*256*256+b*256+a);//データ部//ウィンドウの作成gl_openwin(-1,-1,mapx,mapy,1);for(y=mapy;0<y;y--){for(x=0;x<mapx;x++){//色a=getc(fp);b=getc(fp);c=getc(fp);//点の描写gl_setpixel(x,y,RGB(c,b,a));//ずれの修正if(x==mapx-1)for(i=0;i<mapx%4;i++)getc(fp);}}fclose(fp);}ついに完成しました。一応出来上がったものを張っておきます。(スタディcようなので起動はできないと思います。9年前バイトオーダーを変換する関数を作ってはどうですか?後、ビットシフトやバイトオーダーを計算する時は10進数ではなく、16進数で計算する方が簡単ですよ。0x000000FFで取れます。変換する時は、くっつけたい位置にビットシフトして論理和でくっつけてやればOKです。0;}実行結果0x01020x02010x010203040x04030201しかしこれなら関数じゃなくマクロの方がいいかもしれませんね。ミクプラは自由にリンクできます。