Bits within each word are read or written in the current platform's mathematical bitorder (Data[0] & 0x1, Data[0] & 0x2, ... Data[0] & 0x100, ... Data[0] & 0x80000000, Data[1] & 0x1 ... Correctly handles overlap between destination range and source range; the array of destination bits will be a copy of the source bits as they were before the copy started.