2025年10月19日 星期日

[1009] Complement of Base 10 Integer

啊...原來我不會補數啊= =
奇怪負數原來不是只有頭一個bit 是1 嗎XD 
我真是無顏以對江東父老 Orz
還有呢, 最後兩行是一樣的啊 Orz

void printBinary(int num) {
for (int i = sizeof(int) * 8 - 1; i >= 0; i--) {
printf("%d", (num >> i) & 1);
}
printf("\n");
}

int bitwiseComplement(int n) {
if (n==0)
return 1;
int mask=0;
int cnt=0;
while (mask < n)
mask=mask | (1<<cnt++);
return (mask) ^ (n);
// return (~mask) ^ (~n);
}

沒有留言:

張貼留言