• 締切済み

MATLABでHEXからbinaryさらにベクトルへの変換について

MATLABで例えばh'FFをb'11111111に変換した後、これをベクトル [1 1 1 1 1 1 1 1]に変換する効率の良い方法教えてください

みんなの回答

  • sgwjn
  • ベストアンサー率70% (47/67)
回答No.2

#01です。 そうですか。すみませんでした。 とすると、ループで回すのが一番でしょうか。 h = 'FF'; b = dec2bin(hex2dec(h)); for i = 1:length(b)  ans(i) = str2num(b(i)); end 以下のように1行で書けなくも無いですが、分かりにくいですし、処理も遅くなると思います。 h = 'FF'; b = dec2bin(hex2dec(h)); ans = str2num(reshape(cat(1, b, repmat(' ', size(b))), 1, length(b) * 2));

bonzomania
質問者

お礼

どちらでも、正しい結果が得られました 大変ありがとうございました

  • sgwjn
  • ベストアンサー率70% (47/67)
回答No.1

h = 'FF'; b = dec2bin(hex2dec(h)); ans = str2num(sscanf(b, '%c')); 現在環境が手元に無いので、動作は確認していません。 もし動かなければ指摘してください。

bonzomania
質問者

補足

残念ながら、実行の結果ベクトルではなく 11111111 のdecimal値でした

関連するQ&A