Effacer les filtres
Effacer les filtres

I want to add two binary numbers 11111101 and 0.1000, please help me..

4 vues (au cours des 30 derniers jours)
Daljit Singh
Daljit Singh le 4 Juin 2014
Réponse apportée : Stephen23 le 25 Août 2017
i tried number of functions but m not able to add these to numbers
  2 commentaires
per isakson
per isakson le 4 Juin 2014
>> bin2dec('11111101')+0.1
ans =
253.1000
Tom Rauber
Tom Rauber le 25 Août 2017
253.1000 is not correct, if 0.1000 is a binary number.
0.1 as a binary number means 2^(-1) = 0.5.
Hence the correct answer is 253.5

Connectez-vous pour commenter.

Réponses (1)

Stephen23
Stephen23 le 25 Août 2017
>> binf2dec('11111101')+binf2dec('0.1')
ans =
253.5
Where
function dec = binf2dec(bin)
tkn = regexp(bin,'^([01]+)\.?([01]*)$','tokens','once');
vec = [tkn{:}]-'0';
dec = sum(vec.*pow2((numel(vec):-1:1)-1-numel(tkn{2})));
end

Catégories

En savoir plus sur Operating on Diagonal Matrices dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by