题解 | #整数与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))
}

携程成长空间 146人发布