转换到有符号的整数类型?
C语言程序设计 现代方法》
算术转换的结果
转换到有符号的整数类型
将有符号或无符号的整数类型转换成另一种有符号整数类型,这个时候也可能发生超出目标类型值范围的现象。比方说,当一个值从long 或 unsigned int 转换成int时,像这样转换到有符号整数类型所造成的上溢,最终结果由实现版本自行决定,这一点和转换到无符号整数类型不一样。
大多数编译器会丢掉原始值二进制表示时的最高位,并用新的类型解释这些低位。下面的范例演示在这样的转换策略下,unsigned int 的既有数字位会被解读为signed int 值。
#include <limits.h> int i=UINT_MIX;