# Variablen Download
IPV4 = [0, 0, 0, 0]
IPV4E = [0, 0, 0, 0]
Standardsub = [255, 0, 0, 0]
Neuesub=[255,0,0,0]
Anzahl=int()
Gesucht=int()
i = int(2)
Subnetzmerker=int()
Faktor=int()
Teilnetzstart=int()
Teilnetzende=int()
# Eingabe
IPV4[0] = input('Byte1: ')
IPV4[0] = int(IPV4[0])
IPV4E[0] = IPV4[0]
if IPV4[0] > 128:
IPV4[1] = input('Byte2: ')
IPV4[1] = int(IPV4[1])
IPV4E[1] = IPV4[1]
Standardsub[1] = 255
if IPV4[0] > 191:
IPV4[2] = input('Byte3: ')
IPV4E[2] = IPV4[2]
Standardsub[2] = 255
print('StandardSubnetzmaske : ', Standardsub[0], '.', Standardsub[1], '.', Standardsub[2], '.', Standardsub[3])
Anzahl=int(input('Anzahl Teilnetze: '))
Gesucht=int(input('Gesuchtes Teilnetz: '))
#Ermitteln der neuen Werte
#Divisor für die weitere Berechnung
while i<Anzahl:
i = i * 2
Faktor=int(256/i)
Submerker=int(256-Faktor)
Teilnetzstart=Faktor*Gesucht
Teilnetzende=(Faktor*(Gesucht+1))-1
if IPV4[0] < 127:
IPV4[1] = Teilnetzstart
IPV4[2] = 0
IPV4[3] = 1
IPV4E[1] = Teilnetzende
IPV4E[2] = 255
IPV4E[3] = 254
Neuesub[1]=int(256-Faktor)
elif IPV4[0] < 192:
IPV4[2] = Teilnetzstart
IPV4[3] = 1
IPV4E[2] = Teilnetzende
IPV4E[3] = 254
Neuesub[1] = 255
Neuesub[2] = int(256 - Faktor)
elif IPV4[0] < 224:
IPV4[3] = (Teilnetzstart + 1)
IPV4E[3] = (Teilnetzende - 1)
Neuesub[2] = 255
Neuesub[3] = int(256 - Faktor)
#Ausgabe
print(IPV4[0],IPV4[1],IPV4[2],IPV4[3])
print(IPV4E[0],IPV4E[1],IPV4E[2],IPV4E[3])
print('Neue Subnetzmaske : ', Neuesub[0], '.', Neuesub[1], '.', Neuesub[2], '.', Neuesub[3])
# ©Bernd Thul