#include<stdio.h> #include<stdint.h> uint16_t bit_high(uint16_t reg){ if(reg == 0) return 0; uint16_t mask = (1U << 15); while((reg & mask) == 0){ mask >>= 1; } return mask; } int main(){ uint16_t reg ; scanf("%hu", ®); uint16_t result = bit_high(reg); printf("%hu", result); return 0; }
Test Cases
Test Results
Input
44
Expected Output
32