public void set(int bitIndex) {
        if (bitIndex < 0)
            throw new IndexOutOfBoundsException("bitIndex < 0: " + bitIndex);        int wordIndex = wordIndex(bitIndex);
        expandTo(wordIndex);        words[wordIndex] |= (1L << bitIndex); // Restores invariants        checkInvariants();
    }
这个是源码。我想问words是一个long数组,当我set(79)的时候,wordIndex为1,
就是说words[1]|=(1L<<79);
问题来了:1L<<79 不是超出了long的范围了吗?为什么还可以这么做的?