Diskuze: Program na převod z desítkové do binární soustavy
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
máš to nějaké složité:
#include <stdio.h>
#include <stdlib.h>
void PrintAsBinary(int x);
int main()
{
int val;
printf("Zadej cislo a ja ho prevedu na binarni.\nCislo: ");
scanf("%i", &val);
PrintAsBinary(val);
system("pause");
return 0;
}
void PrintAsBinary(int x)
{
char bits[33];
int i = 0;
while(i<32)
{
bits[i] = (x & 1) ? '1' : '0';
//píšu to do pole, ale taky by se to mohlo rovnou vypisovat
x >>= 1;
i++;
}
bits[32] = '\0';
printf("Vysledek je: %s\n", bits);
}
Jen bych doplnil, že pro úplnou správnost by se mělo při výpisu to pole s binárním číslem obrátit.
nebo možná by se to mělo vypisovat podle endianity systému.
což vlastně tak je:
void PrintAsBinary(int x)
{
char bits[33];
int i = 31;
while(i > -1)
{
bits[i] = (x & 1) ? '1' : '0';
x >>= 1;
i--;
}
bits[32] = '\0';
printf("Vysledek je: %s\n", bits);
}
Zobrazeno 6 zpráv z 6.