C语言类型转换结果?《C语言核心技术》 转换成_Bool以外的无符号整数类型 对于一个正整数的值来说,常常有必要减去(USHRT_MAX+1),使得值落入新类型的范围内,这样的做法如同除以(USHRT_MAX+1)来求余数,如下面的范例所示:
#include <limits.h>unsigned short n =0; n=0xFEDCBA; // int 转 unsigned short int /* 16位计算机: 0xFEDCBA - (USHRT_MAX+1)=16702650-(65535+1) = 16637114 =0xFDDCBA 书本上的结果是:DCBA,计算的结果与书上不同,为什么呢? */