2<->16変換なんて自前で書きゃいいだろ30秒もかからんぞ
#include<stdio.h>
#include<stdlib.h>
int main(){
    char s[80];
    while(gets(s))printf("0x%08lX\n",strtoul(s,0,2));
    return 0;
}