how to convert decimal to binary ?

1 visualizzazione (ultimi 30 giorni)
Ameer Kadhim
Ameer Kadhim il 21 Mar 2018
Commentato: Wubie Engdew il 13 Ago 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]}

Risposta accettata

Stephen23
Stephen23 il 21 Mar 2018
Modificato: Stephen23 il 21 Mar 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 Commenti
Ameer Kadhim
Ameer Kadhim il 21 Mar 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 il 13 Ago 2019
>> dec2bin(randi([1,1000],5,1),10)
ans =
5×10 char array
'1100101111'
'1110001010'
'0001111111'
'1110010010'
'1001111001'

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by