n位二进制数能表示的最大十六进制数是多少解决方法

n位二进制数能表示的最大十六进制数是多少
比如8位二进制数能表示的最大十六进制数位0xff
但如果不是8的整数倍的二进制数,比如任意的n位二进制数,其能表示的最大十六进制数怎么写?
请指教

------解决方案--------------------

C/C++ code

printf("%x", (int)(pow(2,n)-1);