#include<stdio.h> #include<stdlib.h> #include<string.h> //Functiontoconvertbinarytooctalfor a binaryToOctalForOctet(int binaryNumber) { int octalNumber=0,decimalNumber=0,i=0; single //Convertbinarytodecimal while(binaryNumber!=0){ decimalNumber+=(binaryNumber%10)*(1<<i); ++i; binaryNumber/= 10; } i= 1; // Convert decimal to octal while(decimalNumber!=0){ octet(8bits) octalNumber+=(decimalNumber%8)*i; decimalNumber /= 8; i*=10; } returnoctalNumber; } //FunctiontoconvertbinaryIPaddresstooctal void int binaryIPToOctal(char binaryIP[]) { inti,octet,octal; char *ptr; //SplitbinaryIP intooctetsandconverteachoctet printf("Octal IP address: "); for(i= 0;i<32;i+= 8) { octet = strtol(binaryIP + i, &ptr, 2); octal=binaryToOctalForOctet(octet); printf("%d", octal); if (i < 24) { printf("."); } } printf("\n"); } intmain(){ charbinaryIP[33];//Assuming IPv4addressinbinaryform // Input binary IP address from user printf("EnterabinaryIPv4address(32bits):"); scanf("%32s", binaryIP); //CallfunctiontoconvertbinaryIPtooctal binaryIPToOctal(binaryIP); return0; } Output: EnterabinaryIPv4address(32bits):11000000101010000000000100000011 Octal IP address: 300.522.1.203
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter