Konwersja liczby zapisanej jako string do systemu binarnego

0

Witam, zastanawiam się, jak możnaby było skonwertować string reprezentujący liczbę w systemie decymalnym na string reprezentujący tę liczbę w systemie binarnym.

Przykład:

string o zawartości "15" po przekonwertowaniu = string o zawartości "1111"

Chodzi o to, że muszę operować na liczbach wykraczających poza rozmiar typów dzieiętnych, mój program musi obsłużyć liczby do 2^31, tak więc sądzę, że należy to zrobić na stringach. A może jest jakiś inny sposób? Z góry dziękuję za pomoc.

0

2^31 = 2147483648
unsigned int max = 4294967295
Malo?

0
Utermiko napisał(a):

BigInteger http://msdn.microsoft.com/en-US/library/system.numerics.biginteger.aspx

Ale to chyba do .NET a jest?

A ja mam pytanie bo mówisz że masz do obsłużenia liczby 2^31 a to przecież jest max. wartość 32-bitowej zmiennej ze znakiem (chyba) :D to znaczy że zmieścisz się w zwykłej zmiennej:D

0
radmack napisał(a):

Chodzi o to, że muszę operować na liczbach wykraczających poza rozmiar typów dziesiętnych, mój program musi obsłużyć liczby do 231
Pokaż mi komputer, który pracuje na systemie dziesiętnym. Zwykły int to przecież liczby z zakresu od -2^^31
do 231-1. Ten wątek to jakieś WTF po prostu strasznie przekomponowujesz.

To jest proste: wczytujesz liczbę do zwykłej zmiennej typu int, a potem sprawdzasz kolejne jej bity i na tej podstawie budujesz napis. Jak poszukasz to na forum znajdziesz gotowca.

0

Druga część zadania: (int-to-bit_string)
http://www.cplusplus.com/forum/general/10898/

0

Dlaczego nie po prostu std::bitset?

#include <iostream>
#include <bitset>
 
int main() {
  int x = 1234;
  
  std::bitset<32> wtf(x);
  
  std::cout << wtf.to_string();
  
  return 0;
}

http://ideone.com/fObZDW

1 użytkowników online, w tym zalogowanych: 0, gości: 1