Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Klasa przyjmująca liczby inne niż dziesiętne

Ostatnio zmodyfikowano 2012-09-08 20:55
Autor Wiadomość
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.
P-64578
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.
P-64579
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)
P-64580
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
P-64584
akwes
» 2012-09-08 16:21:49
@m4tx, nie grzesz.

@autor
Poczytaj o flagach strumieni.

Frazy, które należy wpisać w wyszukiwarkę google:
P-64586
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.
P-64587
Mrovqa
» 2012-09-08 16:39:46
C/C++
#include <iomanip> // przydatne :D
//...
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).
P-64591
starter
Temat założony przez niniejszego użytkownika
» 2012-09-08 16:45:01
dzięki za odpowiedź! :-)
iomanip wygląda ciekawie :-O
P-64593
« 1 » 2
  Strona 1 z 2 Następna strona