============================================== 輸入三個有號數 v, a, b,型態都是 int. v 是介於-2147483647 到 2147483647 的整數值. a 是代表這個整數的第 a 個 bit. b 如果是 1,表示要將 v 的第 a bit 設成 1. b 如果是 0,表示要將 v 的第 a bit 設成 0.
這個題目大意就是將 v 的第 a bit 設成 0 或 1.
請將程式運算的結果轉成二進位並輸出到螢幕上.
==============================================
某甲很快的 build 出大略的雛形如下:
#include<stdio.h>
/* set bit b to 1 */ intset_bit(int v, int b) {
}
/* set bit b to 0 */ intunset_bit(int v, int b) {
}
/* check_bit b is 1 or 0 */ intcheck_bit(int v, int a, int b) {
}
intmain(void) { int i, v, bit, isSet;
while(scanf("%d %d %d",&v,&bit,&isSet)==3) { if(isSet) v = set_bit(v, bit); else v = unset_bit(v, bit);