public GF2Elem dodaj(GF2Elem Q) 
	  {
		int[] q = Q.bB;
	    int len = Math.max(this.dlugoscBitowa(), q.length);
	    int[] result = new int[len];
	    for (int i = 0; i < len; i++) {
	      if (i < this.dlugoscBitowa() && i < q.length) {
	        result[i] = dodaj(this.bB[i], q[i]);
	      } else if (i < this.dlugoscBitowa()) {
	        result[i] = this.bB[i];
	      } else {
	        result[i] = q[i];
	      }
	    }
	    this.bB = result;
	    this.b = intArraytoBigInteger(this.bB);
	    return this;
	  }