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!