• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zamiana liczby z dziesiętnego na szesnastkowy

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
1,512 wizyt
pytanie zadane 1 listopada 2016 w C i C++ przez niezalogowany
#include <iostream>

using namespace std;

int t, n, liczba;

int main()
{
	cin >> t;

	for (int i = 0; i < t; i++)
	{
		cin >> n;
		
		while (n != 0)
		{
			liczba = n % 16;
			n /= 16;
			if (liczba > 9)
			{
				if (liczba == 10)
					cout << 'A';
				if (liczba == 11)
					cout << 'B';
				if (liczba == 12)
					cout << 'C';
				if (liczba == 13)
					cout << 'D';
				if (liczba == 14)
					cout << 'E';
				if (liczba == 15)
					cout << 'F';
			} else cout << liczba;
		}
	}
	cout << endl;

	system("PAUSE");
}

W jaki sposób mam odwrócić kolejność wyświetlania wyników, tak aby powstała liczba w systemie szesnastkowym?

2 odpowiedzi

0 głosów
odpowiedź 1 listopada 2016 przez unknown Nałogowiec (39,560 p.)

Możesz zamianę dać w funkcje, którą będziesz rekurencyjnie wywoływał:

void dectohex(int val){
  if(val!=0){
    dectohex(val/16);
    std::cout<<((val%16)>9?char(val%16+55):char(val%16+'0'));
  }
}

 

komentarz 1 listopada 2016 przez Ehlert Ekspert (214,470 p.)
Jeśli bierzemy pod uwagę jakość tego co piszemy a nie tylko wynik, to jest to bardzo głupi pomysł.
komentarz 1 listopada 2016 przez niezalogowany
Dlaczego w tej funkcji jest +55?
komentarz 1 listopada 2016 przez unknown Nałogowiec (39,560 p.)

Jeśli bierzemy pod uwagę jakość tego co piszemy a nie tylko wynik, to jest to bardzo głupi pomysł.

I jednocześnie najłatwiejszy.

Dlaczego w tej funkcji jest +55?

Spójrz na tablicę ASCII

komentarz 1 listopada 2016 przez Ehlert Ekspert (214,470 p.)

I jednocześnie najłatwiejszy.

Gratuluję takiego toku myślenia. no 

komentarz 1 listopada 2016 przez unknown Nałogowiec (39,560 p.)

Gratuluję takiego toku myślenia.

Jakiego?

0 głosów
odpowiedź 1 listopada 2016 przez Konrad Nabożny Stary wyjadacz (13,480 p.)
komentarz 1 listopada 2016 przez niezalogowany
Myślałem nad takim rozwiązaniem, ale to nie jest jedna liczba. Do tablicy nie ma za bardzo jak wprowadzić wyników.
komentarz 1 listopada 2016 przez Konrad Nabożny Stary wyjadacz (13,480 p.)
No to można zrobić jeszcze jedno. Konwersja na string ->odwrócenie łańcucha znaków -> konwersja na int (opcjonalnie)

Podobne pytania

0 głosów
2 odpowiedzi 3,400 wizyt
0 głosów
0 odpowiedzi 500 wizyt
pytanie zadane 23 listopada 2019 w C i C++ przez Ola Piątek Nowicjusz (240 p.)
0 głosów
1 odpowiedź 1,510 wizyt
pytanie zadane 22 stycznia 2017 w C i C++ przez kmarcin Użytkownik (590 p.)

93,164 zapytań

142,175 odpowiedzi

321,922 komentarzy

62,490 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 453p. - Marcin Putra
  2. 453p. - dia-Chann
  3. 447p. - Łukasz Piwowar
  4. 443p. - CC PL
  5. 431p. - Łukasz Eckert
  6. 428p. - rafalszastok
  7. 423p. - Adrian Wieprzkowicz
  8. 423p. - Michal Drewniak
  9. 418p. - rucin93
  10. 410p. - Piotr Aleksandrowicz
  11. 408p. - ksalekk
  12. 402p. - Mariusz Fornal
  13. 401p. - Dawid128
  14. 383p. - Hubert Chęciński
  15. 340p. - ssynowiec
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...