POJ2105: IP Address

Source: Internet
Author: User

DescriptionSuppose you are reading byte streams from any device, representing IP addresses. your task is to convert a 32 characters long sequence of '1s 'and '0s' (bits) to a dotted decimal format. A dotted decimal format for an IP address is form by grouping 8 bits at a time and converting the binary representation to decimal representation. any 8 bits is a valid part of an IP address. to convert Binary numbers to decimal numbers remember that both are positional numerical systems, where the first 8 positions of the binary systems are: 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 InputThe input will have a number N (1 <= N <= 9) in its first line representing the number of streams to convert. N lines will follow. outputThe output must have N lines with a doted decimal IP address. A dotted decim Al IP address is formed by grouping 8 bit at the time and converting the binary representation to decimal representation. sample Input400000000000000000000000000000000 00000011100000001111111111111111 11001011100001001110010110000000 01010000000100000000000000000001 Sample Output0.0.0.03.128.255.255203.132.229.12880.16.0.1 I wiped it. If I use an int array, I never figured out the answer. Using char quickly would be correct. Why? [Cpp] # include <stdio. h> # include <iostream> # include <math. h> using namespace std; int main () {int n; char a [35]; cin> n; getchar (); while (n --) {int I; gets (a); for (I = 0; I <32; I ++) {if (I + 1) % 8 = 0) {int j, sum = 0; for (j = i-7; I-j> = 0; j ++) {if (a [j]! = '0') sum = sum + pow (2.0, (I-j) ;}cout <sum; if (I! = 31) cout <"." ;}} cout <endl ;}return 0 ;}

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.