Cześć
Pisalam juz w sprawie tego samego kodu, a mianowicie napisalam program losujacy adres IP i zamieniajacy go na postac binarna no i tu jest malutki problem. Chodzi o to, że nie wiem jak mam zadeklarowac aby program jakby automatycznie dopisywał 0 (juz w systemie binarnym) do liczb w których jest mniej niż 8 cyfr. Jakby to prościej wytlumaczyc, np. Wylosowała się między innymi liczba 3 i po zamianie na postac binarna wyswietlilo się 11, a jak zrobić aby dopisalo 0, aby bylo osiem cyfr? Jak zadeklarowac aby za kazdym razem sprawdzalo i jeśli będzie konieczność dopisywalo 0?
#include <cstdlib>
#include <iostream>
#include <time.h>
#include <windows.h>
#include <string>
using namespace std;
string dec2bin (int dziesietna)
{
char binarna[255];
itoa(dziesietna, binarna, 2);
return (string)binarna;
}
int main()
{
int liczba, liczba1, liczba2, liczba3;
cout << "Witaj w losowaniu liczby adresu IP! Za 3 sekundy nastapi zwolnienie blokady.";
Sleep(3000);
cout << endl;
srand(time(NULL));
liczba = rand()%254+1;
liczba1 = rand()%254+1;
liczba2 = rand()%254+1;
liczba3 = rand()%254+1;
cout << "Dziesietne: " <<endl;
Sleep(1500);
cout<< liczba<<".";
cout<<liczba1<<".";
cout<<liczba2<<".";
cout<<liczba3<<endl;
Sleep(1000);
cout<<"Binarna: "<<endl;
Sleep(1000);
cout << dec2bin(liczba)<<".";
cout <<dec2bin(liczba1)<<".";
cout <<dec2bin(liczba2)<<".";
cout <<dec2bin(liczba3);
system("pause>nul");
return 0;
}