Klasa przyjmująca liczby inne niż dziesiętne
Ostatnio zmodyfikowano 2012-09-08 20:55
starter Temat założony przez niniejszego użytkownika |
Klasa przyjmująca liczby inne niż dziesiętne » 2012-09-08 15:38:36 Witam, co zrobić aby klasa przechowywała liczby, ale inne, niż dziesiętne? Np. klasa "bin" przechowuje liczby binarne, a klasa hex - liczby szesnastkowe. |
|
m4tx |
» 2012-09-08 15:46:43 int przechowuje liczbę w formacie binarnym. Podobnie float, long i wszystkie inne typy. String przechowuje tekst w formacie binarnym. Bo nie da się inaczej zapisać czegokolwiek w RAM-ie.
Inaczej mówiąc; to, jak przedstawisz swoją liczbę, zależy tylko od Ciebie. Domyślnie liczba przedstawiana jest jako zapisana w systemie dziesiątkowym; za pomocą np. sprintf-a można ją przesdstawić w systemie heksadecymalnym lub innym. |
|
starter Temat założony przez niniejszego użytkownika |
» 2012-09-08 15:51:14 a jakie funkcje zmieniają sposób przedstawiania? Jeśli wczytuje liczbę do klasy to skąd wiem czy jest ona dziesiętna, czy binarna? Np. 1010 i 102 to dwie inne liczby. Skąd program ma wiedzieć czy ma wczytać liczbę dziesiętną czy binarną?
//edit: dobra wiem jak ustawić sposób wyświetlania liczb, ale co z wczytywaniem? jak zrobić aby program wczytał z klawiatury liczbę binarną?(uzywając strumienia std::cin) |
|
m4tx |
» 2012-09-08 16:15:47 a jakie funkcje zmieniają sposób przedstawiania? |
Żadne? Sposób przedstawiania ustawia się przy przedstawianiu liczby jako ciągu znaków. jak zrobić aby program wczytał z klawiatury liczbę binarną?(uzywając strumienia std::cin) |
Możesz wczytać do stringa a potem przekonwertować na inta (ofc. z uwzględnieniem konwersji binarny => dziesiętny) :P |
|
akwes |
» 2012-09-08 16:21:49 @m4tx, nie grzesz. @autor Poczytaj o flagach strumieni. |
|
starter Temat założony przez niniejszego użytkownika |
» 2012-09-08 16:28:19 flagi strumienia cout znalazłem, ale co z cin nie wiem. |
|
Mrovqa |
» 2012-09-08 16:39:46 #include <iomanip>
cin >> hex >> var;
W tym przypadku iomanip chyba jest niepotrzebne, ale ogólnie to ma wiele bardzo fajnych manipulatorów strumienia ;) /edit: @up cin i cout dziedziczą ios_base. Btw za pomocą scanfa chyba też się dało wczytać za pomocą %x, ale pewien nie jestem (zachęcam spojrzeć do dokumentacji). |
|
starter Temat założony przez niniejszego użytkownika |
» 2012-09-08 16:45:01 dzięki za odpowiedź! :-) iomanip wygląda ciekawie :-O |
|
« 1 » 2 |