ここにあるコードを使用: https://libbits.wordpress.com/2011/05/17/check-if-ip-is-within-range-specified-in-cidr-in-java/
// Step 1. Convert IPs into ints (32 bits).
// E.g. 157.166.224.26 becomes 10011101 10100110 11100000 00011010
int addr = (( 157 << 24 ) & 0xFF000000)
| (( 166 << 16 ) & 0xFF0000)
| (( 224 << 8 ) & 0xFF00)
| ( 26 & 0xFF);
// Step 2. Get CIDR mask
int mask = (-1) << (32 - 10);
// Step 3. Find lowest IP address
int lowest = addr & mask;
// Step 4. Find highest IP address
int highest = lowest + (~mask);
文字列を 4 つの整数に分割し、IP 範囲の境界を作成できます。今、最高値と最低値の間にあるIPを生成できるようにしたいと考えています。例: 範囲: 157.166.224.26/10 を指定すると、-1650008038 のアドレスが取得されます。私の最小 IP アドレスは -1652555776 で、最大 IP アドレスは -1648361473 です。ここで、最小値と最大値の間の数値を生成し、それを 4 つの整数に変換する必要があります。この最後の部分で迷っています。-1648361473 を IP アドレスに変換する方法がわかりません。