Converting decimal to binary and vise versa
9 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
John Dimopoulos
le 9 Jan 2018
Commenté : John Dimopoulos
le 10 Jan 2018
Hello Matlab Community,
I have a problem. I want to create a function that converts the decimal POSITIVE number that the user gives(maximum number that the user can give is 255) to binary(8-bit accuracy for every number from 0 to 255) and also another function that takes a binary number (max: 11111111 = 255) and converts it to decimal. I'd like to use the ''for'' loop and not functions of matlab like ''dec2bin'' or ''bin2dec''.I've tried a lot but still something doesn't work.
Thanks in Advance
5 commentaires
Réponse acceptée
Roger Stafford
le 9 Jan 2018
I’ll assume that the form of the binary version is a row vector, B, of eight ones or zeros, and that the "decimal" number is a double precision floating point number, D, whose value is an integer ranging from 0 to 255.
From D to B:
B = zeros(1,8);
for k = 8:-1:1
B(k) = mod(D,2);
D = (D-B(k))/2;
end
From B to D:
D = sum(B.*(2.^(7:-1:0)));
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Data Type Conversion dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!