はじめまして。
今、入力された数値を3桁ずつに分けて、最後の3桁に満たない残りの桁は、2桁もしくは1桁とし
その分けられたものをそれぞれ2進数に変換し(分けられたデータが3桁の場合は10桁の、2桁の場合は7桁の、1桁の場合は4桁の)それを結合させるプログラムを作成したいのですが、どうすればよいかわかりません。どのように作成すれば良いのでしょうか?
符号化のことで
Re:符号化のことで
一気に解こうと考えずに1つずつ順番に考えてみてはいかがでしょうか?
1:数値の入力
2:数値を3桁ずつに分ける
3:それぞれの数値を2進数に変換する
4:2進数の文字列を桁を整えた後に連結する
例えばこのような感じに分割して、1ステップずつ解決していくと楽だと思いますよ。
1:数値の入力
2:数値を3桁ずつに分ける
3:それぞれの数値を2進数に変換する
4:2進数の文字列を桁を整えた後に連結する
例えばこのような感じに分割して、1ステップずつ解決していくと楽だと思いますよ。
Re:符号化のことで
例えば、3桁の数字データを2進数にするにあたり
int binary[16];
int data, i;
for(i=0; i<10; i++){
binary = data % 2;
data = data / 2;
}
という処理を行ったあと、どのようにsprintf関数をしようして文字列かすればよいのでしょうか?
int binary[16];
int data, i;
for(i=0; i<10; i++){
binary = data % 2;
data = data / 2;
}
という処理を行ったあと、どのようにsprintf関数をしようして文字列かすればよいのでしょうか?
Re:符号化のことで
それならば、いっその事、文字列に直接代入してはいかがでしょう?
char Binary[33]; int Data, i; /* この位置で、Dataになんらかの数値を10進数で入力 */ for(i = 0; i <= 31; i++) { if (Data % 2 == 1) { Binary[31 - i] = '1'; } else { Binary[31 - i] = '0'; } Data = Data / 2; } Binary = '\0'; printf("%s\n", Binary);