いくつかのバイナリコードをアセンブリに変換しようとしていますが、タスクの一環として、配列内の最後の5つの要素(8個)を新しいアレイ。ご覧のとおり、最初の3つの要素であるopCode用の配列を作成しましたが、オペランドを新しい配列に取得する方法や最初の要素を編集する方法がわかりません。配列を2つに分割する
すべてのご協力をいただきありがとうございます。
void convert_to_assembly(char bin[])
{
int i;
printf("The binary code before spiliting is: ");
char binary[9] = {'1','0','1','1','1','1','1','0'};
for(i=0;i<=7;i++)
{
printf("%c",binary[i]);
}
printf("\n");
char opCode[4];
strncpy(opCode,binary,3);
printf("opcode: ");
for(i=0;i<3;i++)
{
printf("%c",opCode[i]);
}
printf("\n");
}
出力
The binary code before splitting is: 10111110
opcode : 101
operand: ???????
Picky:9アレイの8要素を初期化するだけでしたか?文字列として使用するつもりなら、最後の要素は自動的に ''\ 0' 'に初期化されません。 –
@WeatherVane彼のループは明示的に8要素を数えているので、彼がしたと思う。 – 8protons
@WeatherVaneそれは、char配列を0終了するための1つの方法であると考えられ、したがってCの文字列を持っています。 = P。厳密に直感的ではない、指定されていない末尾の内容ゼロが長さ指定のシーケンスで満たされないか? (今朝私のコーヒーを忘れてしまった。 – WhozCraig