0

マスク IP アドレス (ワイルドカード マスクと呼ばれます) の形式を変換しようとしています。たとえば、

  1. SubnetMask 0.0.0.3 は 255.255.255.252 を返す必要があります。
  2. SubnetMask 0.0.1.255 は 255.255.254.0 を返す必要があります

どうすればこれを行うことができるのか、誰かが手がかりを持っていますか? 理論的には、バイト内のすべてのビットを反転するだけでよいので、単純なはずです。ビットを反転する機能が機能していないと思いますか? どうすればそれを実行できますか?ありがとうございます!! :)


//Retreive IP Subnet Mask (ex: Format 0.0.0.255)
IPAddress SubnetMask = IPAddress.Parse(template_script[line_delimiter].Split(' ')[2]);

//Retreive bytes array of Mask
byte[] bytes = SubnetMask.GetAddressBytes();

//Reverse all bit in bytes
byte[] reversed = Function.InvertBits(bytes);

//Retreive IP Address of inverted byte array
IPAddress SubnetMask_inverted = new IPAddress(reversed);

MessageBox.Show("Subnet original: " + SubnetMask.ToString() + "\nSubnet inverted : " + SubnetMask_inverted.ToString());
4

2 に答える 2