public BitConstant(List<Bit> bits) { long constant_value = 0; int constant_size = 0; long bitmask = 0x1; for (Bit bit : bits) { if (bit.isOn()) { constant_value |= bitmask; } bitmask <<= 1; constant_size++; } constant = new BinaryNumber(constant_value, constant_size); }