Chci, aby se vstup uživatele s následující kód:
uint32_t value;
printf("value: ");
scanf("%"SCNu32, &value);
Moje otázka teď je, jak bych mohl použít na vstup uživatele (v mém případě hodnota) a pak se vrátit ji zformátovanou jako binární číslo bez smyčky ve funkci print_binary? Výstup musí být 32bits po 0b. Nemůžu použít jakýkoliv druh smyčky kdekoliv.
#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
void print_binary(uint32_t value){
printf("%d = 0b",value);
//I want to print the variable value with a fixed length of 32 and that it is
//binary with the starting index of 0bBinaryValueOfNumber.
return;
}
int main(void) {
uint32_t value;
printf("value: ");
if (scanf("%"SCNu32, &value) != 1) {
fprintf(stderr, "ERROR: While reading the 'uint32_t' value an error occurred!");
return EXIT_FAILURE;
}
printf("\n");
print_binary(value);
printf("\n");
return EXIT_SUCCESS;
}
Já také následující příklady:
Pokud vstup uživatele je 5, funkce by měla vrátit "5 = 0b00000000000000000000000000000101".
>>--
"operátor".