115 const auto network_bytes = address_.GetBytes();
116 const auto address_bytes = address.GetBytes();
118 std::uint8_t diff = 0;
119 for (std::size_t byte_index = 0; byte_index < kMaximumPrefixLength / 8; ++byte_index) {
120 std::uint8_t mask_byte = 0;
121 if (byte_index == prefix_length_ / 8) {
122 mask_byte = ~((1 << (8 - prefix_length_ % 8)) - 1);
124 if (byte_index < prefix_length_ / 8) {
128 diff |= (network_bytes[byte_index] ^ address_bytes[byte_index]) & mask_byte;