Een binaire veelterm is een veelterm waarvan de coëfficiënten 0 of 1 zijn. Bewerkingen op de coëfficiënten van de veelterm worden steeds modulo 2 uitgevoerd. Programmeer het onderstaande in de klasse BinaireVeelterm:

Ter herinnering: nemen we de veeltermen a(x) en b(x) als

a(x)=i=0Naixi

en

b(x)=i=0Mbixi

(dus respectievelijk van de graad N en M), dan wordt hun product

c(x)=a(x)b(x)

gegeven door

c(x)=k=0M+N(l=0kalbkl)xk

De coëfficiënten van de veelterm

c(x)=k=0M+Nckxk

van de graad M+N worden dus gegeven door

ck=l=0kalbkl

Voorbeeld

v0 = BinaireVeelterm([6, 4, 0, 3])
print(v0)                            # x**6+x**4+x**3+1
v1 = BinaireVeelterm([3, 8, 8, 1])
print(v1)                            # x**8+x**3+x**1
v2 = BinaireVeelterm([])
print(v2)                            # 0
print(v0.get_graad())                # 6
print(v0.get_coef())                 # [1, 0, 0, 1, 1, 0, 1]
print(v1.get_graad())                # 8
print(v1.get_coef())                 # [0, 1, 0, 1, 0, 0, 0, 0, 1]
print(v2.get_graad())                # 0
print(v2.get_coef())                 # [0]
print(v0 + v1)                       # x**8+x**6+x**4+x**1+1
print(v0 * v1)                       # x**14+x**12+x**11+x**9+x**8+x**6+x**5+x**4+x**3+x**1