题解 | #整数与IP地址间的转换#
整数与IP地址间的转换
https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea
package main import "fmt" // 知识点:与2的幂方相关位运算; // 2^n <——> 1 << n; // a * 2^n <——> a << n; // a / 2^n <——> a >> n; // a % 2^n <——> a & ((1 << n) - 1); func main() { var a, b, c, d int fmt.Scanf("%d.%d.%d.%d", &a, &b, &c, &d) fmt.Println(a<<24 + b<<16 + c<<8 + d) var n int fmt.Scan(&n) fmt.Println(fmt.Sprintf("%d", n>>24) + "." + fmt.Sprintf("%d", n>>16&0xff) + "." + fmt.Sprintf("%d", n>>8&0xff) + "." + fmt.Sprintf("%d", n&0xff)) }