数据转换规则:
char short->int->usigned->long->double float->double
其中要注意的事情是: 在32位机子中,long 与unsigned int 的数据长度是一样的,所以系统无法判断哪个将哪一个转换成哪个,所以就一概转换成unsigned long.