Re: [問題] 請問如何將已轉出的二進位數值放入陣列 …已回收
※ 引述《panzertp (失ゎれた彩畫)》之銘言:
: ※ 引述《pk01749276 (GuanTing)》之銘言:
: : 請問各位高手,我要如何將轉出的二進位數值,放入陣列當中,如下所示:
: : 1 2 3
: : a= 4 5 6
: : 7 8 9
: : 轉成二進位之後呈現
: : 01 10 11
: : b= 100 101 110
: : 111 1000 1001
: : --
: : ◆ From: 123.204.43.192
: : 推 zhewei:cell吧! 06/08 22:20
: : 推 s80773:b=str2num(dec2bin(a));b=reshape(b,size(a,1),size(a,2)); 06/08 22:20
: s大推文提到的這個方法
: 事實上是得到一個似是而非的解
: 當你去運算b(3) 的時候會得到111 <一百一十一> 並非7的二進位數值
: MATLAB處理二進位採用char儲存 因此比較合理的做法應該是z大所提使用cell array
: code如下
: clear all;clc;
: a=[1 2 3 ; 4 5 6 ; 7 8 9 ];
: b=[];
: b=cellstr(dec2bin(a,4));
: b=reshape(b,size(a,1),size(a,2));
: 其中dec2bin(a,4)乃指定最少使用4位來表示數字 需要更多位可在此調整
: 最後則得到一個3x3的cell array
: 使用時記得使用{}存取並且取出之值仍然是char
哇!!感謝大大的指導~~原來還是要用{}來做存取~~~
謝謝各位大大的無私指教^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.17.9.87
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章