Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 27. 03. 2014 19:15

matemak
Zelenáč
Příspěvky: 17
Pozice: student
Reputace:   
 

Záklafy programování

Dobrý den, mám prosbu, nevěděl by někdo, jak dodělat tuto funkci tak, aby mi to počítalo i záporné hodnoty na vstupu? Jdou mi jen kladné. Je to převod z desítkové do binární soustavy.V programu MATLAB. děkuji


function [bin] = decbin(dec)
% Funkce vrací řetězec znaků odpovídající číslu v dec. v soustvě základ
dec = int32(dec);
zaklad = int32(2);
bin = '';
while (dec ~= 0)
zbytek = rem(dec, zaklad);
dec = idivide(dec, zaklad, 'fix');
bin = strcat(char(48 + zbytek), bin);
end

Offline

 

#2 02. 04. 2014 22:01 — Editoval kotipelto (02. 04. 2014 22:01)

kotipelto
Místo: Klimkovice
Příspěvky: 40
Škola: VŠB
Pozice: Z půli student z půli těžce pracující
Reputace:   
 

Re: Záklafy programování

↑ matemak: Ahoj, otázka je jak definujete záporné binární číslo ? :) Se znaménkovým prvním bitem ? A jaký typ čísla převést int32 ?

Offline

 

#3 02. 04. 2014 22:27 — Editoval kotipelto (02. 04. 2014 22:32)

kotipelto
Místo: Klimkovice
Příspěvky: 40
Škola: VŠB
Pozice: Z půli student z půli těžce pracující
Reputace:   
 

Re: Záklafy programování

↑ kotipelto: I když ono to je asi jedno, bohužel matlab neumím tak popíšu v pseudokódu

function ConvertToBits(cislo)

length = cislo.Length   // delka cisla v bitech
string vysledek  // vysledek

for from i = length - 1 to 0

shift = 1 << i      // bitovy posun jedničky do leva o "i" bitu
bit = cislo & shift   // bitovy and cisla s posunutou jednickou

if shift == bit then

vysledek += 1    // pricteni jednicky k vysledku

endif

else

vysledek += 0  // pricteni nuly k vysledku

endfor

return vysledek

Za předpokladu, že

<< je bitový posun doleva
& je bitový funkce And
+= je přidání znaku k řetězci

Offline

 

#4 03. 04. 2014 21:18

matemak
Zelenáč
Příspěvky: 17
Pozice: student
Reputace:   
 

Re: Záklafy programování

↑ kotipelto:
Děkuji, ale už to mám vyřešené.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson