c语言十进制转十六进制算法是什么