binary to decimal conversion
이전 댓글 표시
i have an array wr(i,j) that is 256X8 in binary. now i need to convert it to decimal. so after conversion the size should be 16x16. i am using bi2de() function but i am unsuccessful to do it. how can i do it?
채택된 답변
추가 답변 (1개)
Kirby Fears
2015년 9월 16일
편집: Kirby Fears
2015년 9월 16일
Hi Anika,
I used the following code to convert a 16x16 matrix to binary (256x8) and back with no problems. Please check that you are calling the bin2dec function correctly and wr(i,j) is a "char" array of 1's and 0's. It would help if you post your code, your binary array, and your error message.
m=225*ones(16);
mb=dec2bin(m);
m2=bin2dec(mb);
댓글 수: 6
anika hossain
2015년 9월 16일
편집: anika hossain
2015년 9월 16일
Kirby Fears
2015년 9월 16일
The char function does not do what you think it does. char(1) returns the first character in the Matlab dictionary of characters, not 1 as a character. You can read the documentation here. Specifically, here is an example from the documentation:
Example: char(65) converts the integer 65 into the character A.
To fix your problem, you can simply recode as follows:
if round(BU(4,4,m))==calc
wb(i,j)='1';
else
wb(i,j)='0';
end
end
Hope this helps.
anika hossain
2015년 9월 16일
Walter Roberson
2015년 9월 17일
And the 256 x 1 double array cannot be reshaped?
anika hossain
2015년 9월 17일
Walter Roberson
2015년 9월 17일
No, bin2dec converts N x M arrays to column arrays of length N. You need to reshape() the result to whatever size you want.
카테고리
도움말 센터 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!