Module: Aio::Base::Toolkit::IPAddr

Defined in:
lib/aio/base/toolkit/ipaddr.rb

Class Method Summary collapse

Class Method Details

.mask_dotted_to_i(mask) ⇒ Object

子网掩码从点分十进制转换为数值255.255.255.0 => 24



6
7
8
9
10
11
12
13
# File 'lib/aio/base/toolkit/ipaddr.rb', line 6

def mask_dotted_to_i(mask)
	arr = mask.split(".")
	binary = ""
	arr.each do |m|
		binary << m.to_i.to_s(2)
	end
	return binary.scan(/1/).size
end

.mask_i_to_dotted(int) ⇒ Object

子网掩码从十进制到点分十进制24 => 255.255.255.0



17
18
19
20
21
22
23
24
25
26
# File 'lib/aio/base/toolkit/ipaddr.rb', line 17

def mask_i_to_dotted(int)
	int = int.to_i
	arr = [nil, nil, nil, nil]
	binary = (2 ** int - 1) << (32 - int)
	4.times do |t|
		arr[3-t] = (binary & 255).to_s
		binary = binary >> 8
	end
	return arr.join(".")
end