题解 | #整数与IP地址间的转换#

整数与IP地址间的转换

https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea

package main

import (
	"fmt"
	"strconv"
	"strings"
)

func main() {
	var ip1 string
	fmt.Scanln(&ip1)
	fmt.Println(ipToDecimal(ip1))
	var ip2 string
	fmt.Scanln(&ip2)
	decimalIP, _ := strconv.ParseUint(ip2, 10, 32)
	binaryIP := fmt.Sprintf("%032b", decimalIP)

	octets := []string{}
	for i := 0; i < len(binaryIP); i += 8 {
		octet, _ := strconv.ParseUint(binaryIP[i:i+8], 2, 32)
		octets = append(octets, strconv.FormatUint(octet, 10))
	}
	realIP := strings.Join(octets, ".")
	fmt.Println(realIP)
}

func ipToDecimal(ip string) int64 {
	segments := strings.Split(ip, ".")
	var binary string
	for _, segment := range segments {
		num, _ := strconv.Atoi(segment)
		binary += fmt.Sprintf("%08b", num)
	}
	decimal, _ := strconv.ParseInt(binary, 2, 64)
	return decimal
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-27 20:15
还能挽救吗?找同学帮忙看了一下&nbsp;字节怎么能如此对我
牛客26396789...:你这是严重红线,被发现你自己永远进不去,你那个同学直接走人,你还敢宣扬
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务