#include <bits/stdc++.h>
using namespace std;
bool Get(int Number, int Index)
{
return (Number & 1<<Index);
}
int Set(int Number, int Index, int type)
{
if (type)
return (Number | 1<<Index);
else return (Number & ( 255 - (1<<Index) ));
}
int main()
{
cout<<Get(158,5)<<" "<<Set(158,5,0)<<" "<<Set(158,5,1);
// 158 100111100
// Get(158,5) lay bit o vi tri thu 5 ==> ket qua: bit 0
// Set(158,5,0) doi bit o vi tri thu 5 thanh bit 0 ==> ket qua 158
// Set(158,5,1) doi bit o vi tri thu 5 thanh bit 1 ==> ket qua 190 (101111100)
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpib29sIEdldChpbnQgTnVtYmVyLCBpbnQgSW5kZXgpCnsKICAgIHJldHVybiAoTnVtYmVyICYgMTw8SW5kZXgpOwp9CgppbnQgU2V0KGludCBOdW1iZXIsIGludCBJbmRleCwgaW50IHR5cGUpCnsKICAgIGlmICh0eXBlKQogICAgICAgIHJldHVybiAoTnVtYmVyIHwgMTw8SW5kZXgpOwogICAgZWxzZSByZXR1cm4gKE51bWJlciAmICggMjU1IC0gKDE8PEluZGV4KSApKTsKfQoKaW50IG1haW4oKQp7CiAgICBjb3V0PDxHZXQoMTU4LDUpPDwiICI8PFNldCgxNTgsNSwwKTw8IiAiPDxTZXQoMTU4LDUsMSk7Ci8vIDE1OCAxMDAxMTExMDAKLy8gIEdldCgxNTgsNSkgbGF5IGJpdCBvIHZpIHRyaSB0aHUgNSA9PT4ga2V0IHF1YTogYml0IDAKLy8gIFNldCgxNTgsNSwwKSBkb2kgYml0IG8gdmkgdHJpIHRodSA1IHRoYW5oIGJpdCAwID09PiBrZXQgcXVhIDE1OAovLyAgU2V0KDE1OCw1LDEpIGRvaSBiaXQgbyB2aSB0cmkgdGh1IDUgdGhhbmggYml0IDEgPT0+IGtldCBxdWEgMTkwICgxMDExMTExMDApCgogICAgcmV0dXJuIDA7Cn0K