Input dialog boxes accepts binary bit sequence

6 vues (au cours des 30 derniers jours)
Lorrenzo Francis
Lorrenzo Francis le 13 Mar 2019
After entering a binary bit sequence in an input dialog box, I'm having issues when I try to convert it to a numeric value. When the str2num function is used, the leading zeros are erased. Below is my code:
prompt = {'Enter bit sequence (max 8 bits):'};
ititle = 'Input';
dims = [1 35];
temp1 = inputdlg(prompt,ititle,dims);
temp2 = str2num(temp1{1});
bit_sequence = str2num(num2str(temp2).');
disp(bit_sequence)
If the input is 0110, the output is
1
1
0
I would like to know how to keep the leading zero.

Réponse acceptée

Brian Hart
Brian Hart le 13 Mar 2019
Hi Lorrenzo,
MATLAB doesn't support binary representation. So when you run the above code, MATLAB thinks the value in temp2 is one-hundred-ten, not six.
To get the numerical value, try
>> temp2 = bin2dec(temp1{1});
Then to display the value as binary, try
>> disp(dec2bin(temp2,4))
where the "4" tells MATLAB how many bits to display.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits


Version

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by