-4
intを4バイトに変換しようとしています。何らかの理由でそれがここでint int to char converstionはガラベリ文字を追加します
int _tmain(int argc, _TCHAR* argv[])
{
int num = 31070;
char arr[4];
arr[0] = num & 0xFF;
arr[1] = (num >> 8) & 0xFF;
arr[2] = (num >> 16) & 0xFF;
arr[3] = (num >> 24) & 0xFF;
return 0;
}
は、あなたはそれがarr[0]
ため^
とy
を追加していることがわかりますここデバッグウィンドウの出力とarr[1]
キャストのようなものを試しましたが、これらのガベージ文字はまだ追加されています。
文字型変数であるため、データを文字として表示されているようです。別のデバッガを使用するか、嫌いな場合は無効にする設定を求めてください。 – MikeCAT
デバッグ出力を誤解しています。 '94 'は文字' '^''で、他の文字と同じです。それはあなたに余分な情報を与えることによって役立つように努力しています。それがあなたのために役立たない場合は、それを無視してください。 – kaylum
'uint8_t'型を試してみてください。ビットで再生するときは、 'unsigned'型が常に優先されます。 –