How to convert a matrix having integer entries (+ or -) into binary ?
5 views (last 30 days)
Show older comments
Abdul Gaffar on 27 Apr 2018
Commented: Abdul Gaffar on 28 Apr 2018
i have code,
a = -123; % your float point number
n = 16; % number bits for integer part of your number
m = 0; % number bits for fraction part of your number
% binary number
d2b = fix(rem(a*pow2(-(n-1):m),2));
% the inverse transformation
b2d = d2b*pow2(n-1:-1:-m).';
sir, this code converts floating point no. (+ or -) to binary. If i have a matrix say A=[1,2,3;-1,-2,5;-5,6,-23], then how to do the same ??
Ameer Hamza on 28 Apr 2018
This code will work for a matrix A
% for transformation
powers = reshape(pow2(-(n-1):m), 1, 1, );
d2b = fix(rem(a.*powers, 2));
% for inverse transformation
powerReverse = reshape(pow2(n-1:-1:-m), 1, 1, );
b2d = sum(d2b.*powerReverse, 3);
d2b is 3D matrix. To extract transformation value corresponding to a(i, j) from d2b use squeeze(d2b(i,j,:)).
Find more on Numeric Types in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!