Strona 1 z 1

[Systemy liczbowe] Kodowanie binarne na dziesiętne

: 11 lis 2018, o 18:03
autor: Mathhh
Chcę zamienić liczbę z systemu dwójkowego na dziesiętny w C++ ale program musi zamienić na dodtanią bądź ujemną. Wiem, że istnieje bit znaku ale liczby binarne dodatnie też mogą się zaczynać od jedynki więc chyba trzeba po prostu zapytać użytkownika jaką liczbę będzie wpisywał ?

[Systemy liczbowe] Kodowanie binarne na dziesiętne

: 11 lis 2018, o 18:13
autor: VirtualUser
Poczytaj o ZM, ZU1, ZU2

Kod: Zaznacz cały

https://www.youtube.com/watch?v=ZD0wMdJa-Ns

[Systemy liczbowe] Kodowanie binarne na dziesiętne

: 11 lis 2018, o 18:18
autor: Mathhh
Czytałem o tym i użyłem ZU2, tylko zastanawiam się jak program ma rozpoznać jeśli ktoś wpiszę liczbe dwójkowo czy chce żeby mu zamienić na liczbe ujemną czy dodatnią.

Re: [Systemy liczbowe] Kodowanie binarne na dziesiętne

: 15 lis 2018, o 17:38
autor: Ponury123
Więc załóż że program przyjmuje liczby w U2. Wtedy masz najstarszy bit określa znak. Skoro program ma zamieniać na dodatnią lub ujemna to najlepsze wyjście - kod naturalny binarny nie ma reprezentacji liczb ujemnych, U1 juz za to ma, ale ma też podwójną reprezentację zera, niezbyt to wygodne.

Jeśli chcesz umożliwić użytkownikowi wpisywanie liczby binarni, to zrób jeszcze jakiś checkbox, który informuje że to co wpisał jest w naturalnym binarnym - wtedy wystarczy Ci wstawić zero przed tym co wpisał i możesz użyć tej samej funkcji co do U2

[Systemy liczbowe] Kodowanie binarne na dziesiętne

: 19 lis 2018, o 13:46
autor: pioter-b
ok, dziękuję. Już zrobiłem