ここから本文です

c言語で 作成したhigh.txtとlow.txtの2進数データをそれぞれ読み込み、合成して10...

ras********さん

2019/10/2219:27:46

c言語で 作成したhigh.txtとlow.txtの2進数データをそれぞれ読み込み、合成して10進数を出力するプログラムを作成したいのですが、合成して10進数の出力ができません。

どなたか教えてください。
<実行例>
High order number:
1010
Low order number:
1001
169 // 合成した10進数の値
途中までのソースコードを載せておきます。
#include<stdio.h>
int main(){
int a,b;
FILE *fp,*fp2;
fp = fopen("high.txt","r");
if(fp==NULL){
printf("file open failed.¥n");
return -1;
}
fscanf(fp,"%d\n",&a);
printf("High order number: %d\n",a);
fclose(fp);

fp2= fopen("Low.txt","r");
if(fp==NULL){
printf("file open failed.¥n");
return -1;
}
fscanf(fp,"%d\n",&b);
printf("Low order number: %d\n",b);
fclose(fp2);




return 0;
}

閲覧数:
24
回答数:
2

違反報告

ベストアンサーに選ばれた回答

2019/10/2219:59:18

#include <stdio.h>
int main()
{
int a=1010;
int b=1001;
int c=(a%10+((a/10)%10)*2+((a/100)%10)*4+(a/1000)*8)*16+b%10+((b/10)%10)*2+((b/100)%10)*4+(b/1000)*8;
printf("%d",c);
return 0;
}

質問した人からのコメント

2019/10/23 12:45:00

試したらできました。ありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

Le Chariotさん

2019/10/2220:58:32

2進数の読み込みは、
文字列で読み込んで、strtol などで数値データに変換、
10進数での出力はprintfで "%d" などで出力が簡単だと思います。

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる