[Systemy liczbowe] Kodowanie binarne na dziesiętne
-
- Użytkownik
- Posty: 356
- Rejestracja: 13 sie 2018, o 17:18
- Płeć: Mężczyzna
- Lokalizacja: Polska
- Podziękował: 390 razy
[Systemy liczbowe] Kodowanie binarne na dziesiętne
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ł ?
Ostatnio zmieniony 11 lis 2018, o 22:10 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Powód: Poprawa wiadomości.
- VirtualUser
- Użytkownik
- Posty: 443
- Rejestracja: 2 wrz 2017, o 11:13
- Płeć: Mężczyzna
- Podziękował: 113 razy
- Pomógł: 15 razy
-
- Użytkownik
- Posty: 356
- Rejestracja: 13 sie 2018, o 17:18
- Płeć: Mężczyzna
- Lokalizacja: Polska
- Podziękował: 390 razy
[Systemy liczbowe] Kodowanie binarne na dziesiętne
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ą.
-
- Użytkownik
- Posty: 128
- Rejestracja: 5 lip 2015, o 14:48
- Płeć: Mężczyzna
- Lokalizacja: nie wiem
- Podziękował: 11 razy
- Pomógł: 24 razy
Re: [Systemy liczbowe] Kodowanie binarne na dziesiętne
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
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