How to convert decimal into binary?
65 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello,
I need to convert n-bit decimal into 2^n bit binary number. I do not have much idea. Can anybody help me please?
4 Kommentare
Akzeptierte Antwort
Jan
am 22 Jan. 2019
Bearbeitet: Jan
am 1 Nov. 2021
This code shows '11111111' only, because you overwrite the output in each iteration:
n= 8;
for i = 0:2^n-1
x = dec2bin(i,8);
end
Therefore x contains the last value only: dec2bin(2^n-1, 8).
Better:
x = dec2bin(0:2^n-1, 8);
Or if you really want a loop:
n = 8;
x = repmat(' ', 2^n-1, 8); % Pre-allocate
for i = 0:2^n-1
x(i+1, :) = dec2bin(i,8);
end
x
[EDITED] If you want the numbers 0 and 1 instead of a char matrix with '0' and '1', either subtract '0':
x = dec2bin(0:2^n-1, 8) - '0';
But to avoid the conversion to a char and back again, you can write an easy function also:
function B = Dec2BinNumeric(D, N)
B = rem(floor(D(:) ./ bitshift(1, N-1:-1:0)), 2);
end
% [EDITED] pow2(n) reülaced by faster bitshift(1, n)
PS. You see, the underlying maths is not complicated.
9 Kommentare
Walter Roberson
am 23 Jan. 2019
A one-million bit binary number cannot be converted to a double precision value.
Jan
am 23 Jan. 2019
If
dec2bin(0:2^n-1, 8) - '0'
is working, calling
Dec2BinNumeric(0:2^n-1, 8)
is not a serious difference.
Weitere Antworten (2)
PRAVEEN GUPTA
am 8 Jul. 2019
i have string of number [240 25 32 32]
i want to convert them in binary
how can i do this???
2 Kommentare
Jan
am 8 Jul. 2019
Do no attach a new question as an asnwer of another one.
Did you read this thread? dec2bin has been suggested already, as well as a hand made solution Dec2BinNumeric. Simply use them.
AB WAHEED LONE
am 6 Mär. 2021
Bearbeitet: AB WAHEED LONE
am 6 Mär. 2021
I know it is late but somwhow it may help
bin_array=dec2bin(array,8)-'0';
vandana Ananthagiri
am 5 Feb. 2020
function A = binary_numbers(n)
A = double(dec2bin(0:((2^n)-1),n))-48;
end
2 Kommentare
Walter Roberson
am 5 Feb. 2020
Why 48?
I know the answer, but other people reading your code might not, so I would recommend either a comment or a different representation.
vincent voogt
am 1 Nov. 2021
Maybe a late reply, but dec2bin return as string of ASCII characters, where 0-9 are mapped on character number 48-57.
Siehe auch
Kategorien
Mehr zu Characters and Strings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!