C语言类型转换规则

1.实型数据(包括单、双精度)-> 整型数据

舍弃小数部分


2.整型数据 -> 单、双精度数据

数值不变,以浮点形式存储


3.double <-> float

double -> float

截取前7位有效数字,但数值范围不能溢出

float -> double

数值不变,有效位数扩展到16位


4.字符型数据 -> 整型数据

字符数据(8位)放到整型数据低8位

a.字符型数据为无符号的:高位补0

b.字符型数据为有符号的:

字符最高位为0:高位补0

字符最高位为1:高位补1


5.int, short, long -> char

低8位原样送到char


6.带符号整型数据 <-> long

整形数据 -> long

整形数据符号位为0:高位补0

整型数据符号位为1:高位补1

long -> 整型数据

低位截断




你可能感兴趣的:(内容整理)