题解 | #整数与IP地址间的转换#
整数与IP地址间的转换
http://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea
是在题解区看的大佬的简洁代码的,主要是想着自己能好点复习,好上手。
using namespace std ;
typedef long long int LL ;
int main(){
LL a , b , c , d , num;
while(scanf("%lld.%lld.%lld.%lld",&a,&b,&c,&d)!= EOF){ //读到文件末尾,或者读入不符合规则的字符自动退出。
cin>>num ;
cout<<(a<<24) + (b << 16) + ( c << 8) + d<<endl ;
a = num >> 24 ; //左移是乘上2的n次方,右移是除上2的n次方。
num -= (a<<24) ;
b = num >> 16 ;
num -= (b<<16) ;
c = num>>8 ;
d = num - (c<<8) ;
cout <<a<<"."<<b<<"."<<c<<"."<<d<<endl;
}
return 0 ;
}
