How to convert decimal into binary?
조회 수: 60 (최근 30일)
이전 댓글 표시
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
채택된 답변
Jan
2019년 1월 22일
편집: Jan
2021년 11월 1일
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
Walter Roberson
2019년 1월 23일
A one-million bit binary number cannot be converted to a double precision value.
Jan
2019년 1월 23일
If
dec2bin(0:2^n-1, 8) - '0'
is working, calling
Dec2BinNumeric(0:2^n-1, 8)
is not a serious difference.
추가 답변 (2개)
PRAVEEN GUPTA
2019년 7월 8일
i have string of number [240 25 32 32]
i want to convert them in binary
how can i do this???
댓글 수: 2
Jan
2019년 7월 8일
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
2021년 3월 6일
편집: AB WAHEED LONE
2021년 3월 6일
I know it is late but somwhow it may help
bin_array=dec2bin(array,8)-'0';
vandana Ananthagiri
2020년 2월 5일
function A = binary_numbers(n)
A = double(dec2bin(0:((2^n)-1),n))-48;
end
댓글 수: 2
Walter Roberson
2020년 2월 5일
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
2021년 11월 1일
Maybe a late reply, but dec2bin return as string of ASCII characters, where 0-9 are mapped on character number 48-57.
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Type Conversion에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!