docs: public static int modulus( int dividend , int divisor ) {
  		// Compute the position of the most significant bit for each integers
  		int length_end = length(dividend);
  		int length_sor = length(divisor);
          // If the dividend is smaller than the divisor then nothing needs to be done
  		if( length_end < length_sor )
  			return dividend;
  
  		// Align the most significant 1 of the divisor to the most significant 1
  		// of the dividend (by shifting the divisor)
  		for( int i = length_end-length_sor; i >= 0; i-- ) {
  			// Check that the dividend is divisible (useless for the first iteration but
  			// important for the next ones)
  			if((dividend & (1 << i + length_sor - 1)) != 0 ) {
  				// if divisible, then shift the divisor to align the most significant bits and subtract.
  				dividend ^= divisor << i;
  			}
  		}
  		return dividend;
  	}