Hier ist ein Beispiel zum Anzeigen einer IP Adresse in binärer Form.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// Funktion zur Umwandlung eines Oktetts in eine Binärdarstellung
void decimalToBinary(int num, char *binary) {
for (int i = 7; i >= 0; i--) {
binary[7 - i] = (num & (1 << i)) ? '1' : '0';
}
binary[8] = '\0'; // Nullterminierung
}
int main() {
char ip[] = "192.168.0.1"; // Beispiel-IP-Adresse
int octets[4]; // Array für die 4 Oktette
char binary[9]; // String für die Binärdarstellung eines Oktetts (8 Bits + Nullterminierung)
// IP-Adresse in Dezimalwerte aufteilen
if (sscanf(ip, "%d.%d.%d.%d", &octets[0], &octets[1], &octets[2], &octets[3]) != 4) {
printf("Ungültige IP-Adresse!\n");
return 1;
}
printf("IP-Adresse: %s\n", ip);
printf("Binäre Darstellung:\n");
// Jedes Oktett in Binär umwandeln und ausgeben
for (int i = 0; i < 4; i++) {
decimalToBinary(octets[i], binary);
printf("%s ", binary);
}
printf("\n");
return 0;
}