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

看板MATLAB作者 (失ゎれた彩畫)時間16年前 (2009/06/09 05:10), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《pk01749276 (GuanTing)》之銘言: : : 請問各位高手,我要如何將轉出的二進位數值,放入陣列當中,如下所示: : : 1 2 3 : a= 4 5 6 : 7 8 9 : : 轉成二進位之後呈現 : : 01 10 11 : b= 100 101 110 : 111 1000 1001 : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ 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: 114.44.2.172
文章代碼(AID): #1ABNufU- (MATLAB)
文章代碼(AID): #1ABNufU- (MATLAB)