#include <stdio.h> #include<stdlib.h> #include<string.h> //Functiontoconvertdecimalnumberto8-bitbinarystring voiddecimalToBinary(unsignedintdecimal,char*binaryResult){ int i; for(i= 7;i>= 0;--i) { binaryResult[i]=(decimal%2)+'0'; decimal /= 2; } binaryResult[8]='\0'; //Null-terminatethebinarystring } //FunctiontoconvertIPv4addresstobinary void ipToBinary(char *ipAddress) { char*token; int octet; charbinaryResult[33]; //Buffertostore fullbinaryIP address charbinaryOctet[9];//Buffer printf("Binary IP address: "); tostoreeachoctet's binaryrepresentation //TokenizetheIPaddressusingstrtok token = strtok(ipAddress, "."); while(token!=NULL){ octet=atoi(token);//Converttokentointeger if (octet < 0 || octet > 255) { printf("InvalidIPaddressformat.\n"); return; } decimalToBinary(octet, binaryOctet); // Convert octet strcat(binaryResult,binaryOctet);//Appendbinaryoctettoresult strcat(binaryResult, ""); // Add space for readability token=strtok(NULL,"."); } binaryResult[strlen(binaryResult)-1]='\0';//Removelastspace binaryResult); // Print the binary IP address } intmain(){ charipAddress[20];//Buffer forIPv4addressinput //InputIPv4addressfromuser to binary printf("%s\n", printf("EnteranIPv4address(e.g.,300.522.1.203):"); scanf("%19s", ipAddress); //CallfunctiontoconvertIPv4 addresstobinary ipToBinary(ipAddress); return0; } Output: EnteranIPv4address:300.522.1.203 BinaryIPaddress:100101100.100001010.00000001.11001011