convert decimal values to binary?

5 次查看(过去 30 天)
xa(1)=0;
ya(1)=0;
a=1.4;
b=0.3;
sa=0;
for i=2:41616
xa(i)=1-a*(xa(i-1)^2)+ya(i-1);
ya(i)=b*xa(i-1);
sa(i) = mod (ya(i)* (10^12) , 256);
sabinary(i) = dec2bin(round(sa(i) * (2^10)), 8) - '0';
end
This is the code to find 'sa'. I got values for sa(i) but i cant convert those values of 1D array to binary. Please help me with the above code.
  1 个评论
Stephen23
Stephen23 2017-7-19
编辑:Stephen23 2017-7-19
@SNEHA P S: what do you expect the output to be? How do you expect to put a non-scalar char vector (the output from dec2bin) into one single element of sabinary ?

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2017-7-19
The following is for R2016b or later, specifically to use a facility that allows the entire binary value to be stored into a single location, since that is how you seem to expect the output to be.
xa(1)=0;
ya(1)=0;
a=1.4;
b=0.3;
sa=0;
N = 41616;
sabinary = strings(1, N);
sabinary(1) = string('00000000');
for K = 2:N
xa(K)=1-a*(xa(K-1)^2)+ya(K-1);
ya(K)=b*xa(K-1);
sa(K) = mod (ya(K)* (10^12) , 256);
sabinary(K) = string(dec2bin(round(sa(K) * (2^10)), 8));
end
sa_recovered = bin2dec(sabinary) / 2^10;

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Numeric Types 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by