how to convert decimal to binary ?

1 Ansicht (letzte 30 Tage)
Ameer Kadhim
Ameer Kadhim am 21 Mär. 2018
Kommentiert: Wubie Engdew am 13 Aug. 2019
I have vector of integer values : y = [ 1 2 3 4 5 ... 998 999 1000 ] , how can i generate binary random numbers with the same length for lower and upper of vector y ( i.e the binary value of 1000 is (0 0 0 1 0 1 1 1 1 1), and the binary value of 2 is ( 1 0 0 0 0 0 0 0 0 0 ) and so on .. This is the code y = [ 1 : 1000 ]; empty.value = []; out=repmat(empty.value,5,1);
for i = 1 : 5 % i want 5 binary numbers within the range 1 to 1000 and must be all the same length of bits a = randi(1000); b = de2bi(a); out(i).value = b ; end %% the results are different in number of bits {[1,1,1,1,1,1];[1,1,0,1,0,1,0,0,1];[1,1,1,1,0,1];[0,1,0,1,1,1,1,1,1];[0,1,0,1,1,1,1,1,0,1]}

Akzeptierte Antwort

Stephen23
Stephen23 am 21 Mär. 2018
Bearbeitet: Stephen23 am 21 Mär. 2018
>> dec2bin(randi([1,1000],5,1),10)
ans =
1101100000
1000010111
1100010100
0000100001
1110110000
And to convert to numeric simply subtract '0':
dec2bin(...)-'0'
  10 Kommentare
Ameer Kadhim
Ameer Kadhim am 21 Mär. 2018
@Stephen Cobeldick your answer not correct too .. see v = bi2de(dec2bin(randi([1,1000],1,1),10)-'0') v =
1013
i not want v greater than 1000 . ok (v must be less than 1000)
Wubie Engdew
Wubie Engdew am 13 Aug. 2019
>> dec2bin(randi([1,1000],5,1),10)
ans =
5×10 char array
'1100101111'
'1110001010'
'0001111111'
'1110010010'
'1001111001'

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices 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!

Translated by