Re: [問題] 請問如何將已轉出的二進位數值放入陣列 …已回收

看板MATLAB作者 (GuanTing)時間16年前 (2009/06/09 12:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《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
文章代碼(AID): #1ABTwGeh (MATLAB)
文章代碼(AID): #1ABTwGeh (MATLAB)