Ôn kiến thức AND, OR, XOR, >>, <<.
Các bạn paste code vào http://dartpad.dev/ là chạy được
void main() {
print(swapBit(135, 1, 3));
}
int swapBit(int x, int i, int j) {
if (i == j) return x;
if (((x >> i) & 1) != ((x >> j) & 1)) { //if bit ith diff with jth
int maskbits = (1 << i) | (1 << j);
return x ^ maskbits;
} else {
return x;
}
}
Bình luận