输入:
101.132.10.0/24
输出:
网络地址:101.132.10.0
广播地址:101.132.10.255
有了这两个地址,就可以把所有可用ip求出来了
hivesql:
-- 网络地址 整数形式
select cast(conv(CONCAT(lpad(conv(cast(split(split("101.132.10.0/24","/")[0],"\.")[0] as bigint),10, 2),8,"0") ,lpad(conv(cast(split(split("101.132.10.0/24","/")[0],"\.")[1] as bigint),10, 2),8,"0") ,lpad(conv(cast(split(split("101.132.10.0/24","/")[0],"\.")[2] as bigint),10, 2),8,"0") ,lpad(conv(cast(split(split("101.132.10.0/24","/")[0],"\.")[3] as bigint),10, 2),8,"0") )
,2, 10) as bigint) & cast(conv(rpad(rpad( "",cast(split("101.132.10.0/24","/")[1] as bigint),"1"),32,"0"),2, 10) as bigint)
-- 广播地址 整数形式
select (cast(conv(CONCAT(lpad(conv(cast(split(split("101.132.10.0/24","/")[0],"\.")[0] as bigint),10, 2),8,"0") ,lpad(conv(cast(split(split("101.132.10.0/24","/")[0],"\.")[1] as bigint),10, 2),8,"0") ,lpad(conv(cast(split(split("101.132.10.0/24","/")[0],"\.")[2] as bigint),10, 2),8,"0") ,lpad(conv(cast(split(split("101.132.10.0/24","/")[0],"\.")[3] as bigint),10, 2),8,"0") )
,2, 10) as bigint) & cast(conv(rpad(rpad( "",cast(split("101.132.10.0/24","/")[1] as bigint),"1"),32,"0"),2, 10) as bigint))
+ pow(2, 32 - split("101.132.10.0/24","/")[1] ) - 1



