子网地址与广播地址的算法

子网地址的算法:用IP地址 AND 子网掩码

                 IP地址与子网掩码进行和运算.

广播地址的算法:( NOT 子网掩码)   OR   IP地址

                 子网掩码进行非运算的结果再与IP地址进行或运算。

 

class function TConvertUtil.SubnetRange(AIpMask, AIpStart: string;
  var ARefIpStart, ARefIpEnd: string): Boolean;
var
  ASubNetIpLong,ABroadCastIpLong:LongWord;
  AStartLong,AEndLong:LongWord;
begin
  Result := True;

  ASubNetIpLong := FCnIp.IPToInt(AIpMask) and FCnIp.IPToInt(AIpStart);
  
  ABroadCastIpLong := (not FCnIp.IPToInt(AIpMask)) or FCnIp.IPToInt(AIpStart);

  AStartLong := ASubNetIpLong + 1;
  AEndLong := ABroadCastIpLong - 1;

  ARefIpStart := FCnIp.IntToIP(AStartLong);
  ARefIpEnd := FCnIp.IntToIP(AEndLong);
end;

 

initialization
  FCnIp := TCnIp.Create(nil);
finalization
  FCnIp.Free;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值