#include <stdio.h>
#include <stdbool.h>
void print_bits(unsigned int n) {
for (int i = 7; i >= 0; i--)
printf("%d", (n >> i) & 1);
printf("\n");
}
bool is_only_first_and_last_bit_set(unsigned int n) {
return (((n - 1) & (n - 2)) == 0);
}
int main()
{
unsigned int n = 129;
print_bits(n);
print_bits(n - 1);
print_bits(n - 2);
print_bits((n - 1) & (n - 2));
if (is_only_first_and_last_bit_set(n))
printf("Yes\n");
else
printf("No\n");
return 0;
}
/*
run:
10000001
10000000
01111111
00000000
Yes
*/