Zaprogramowałem klasę o nazwie HugeInteger, która może wykonywać operacje arytmetyczne (dodawać, przesyłać, mnożyć) z liczbami o rozmiarze "nieskończenie". Traktuje każdy bit cyfry liczby jako samodzielną cyfrę (np. 1234 = 1, 2, 3 i 4). Przechowuję te liczby w wektorze (vector<short>)
. Teraz, ponieważ każda cyfra może przyjmować wartości od 0 do 9, nie muszę ich zapisywać jako cyfry 2-bajtowej. Czy istnieje sposób (bez użycia char) do przechowywania cyfr jako 1-bajtowej liczby całkowitej bez znaku? Dzięki!1-bajtowa liczba całkowita bez znaku C++
Aktualizacja:
vector<unsigned char> v;
v.push_back(1);
v.push_back(2);
for (size_t i = 0; i < v.size(); i++)
cout << v[i];
To wywołuje niepożądane komunikaty. Który typ danych powinienem użyć do iteracji przez wektor?
Dlaczego bez użycia 'char'? – jwodder
Nagłówek udostępnia typ o nazwie "uint8_t" - jeśli to środowisko obsługuje taki typ. Należy pamiętać, że "uint8_t" może być typedef dla "unsigned char". Tak więc przeciążenie może nie działać zgodnie z oczekiwaniami we wszystkich przypadkach. –
nosid
'unsigned char' to" jednobajtowa liczba całkowita bez znaku "C++ z definicji. Dlaczego nie chcesz rozwiązać swojego problemu? –