#include <stdio.h>
#include <math.h>
int main(int argc, const char * argv[]) {
// 扩展运算
short si = -32768;
unsigned short usi = si;
printf("%d,%d\n",si,usi);
printf("0x%08x,0x%08x\n",si,usi);
// 0xffff8000,0x00008000 带符号位整数前面补符号,无符号整数位前面补0
int i = si;
unsigned int ui = usi;
printf("%d,%d\n",i,ui);
printf("0x%08x,0x%08x\n",i,ui);
// 0xffff8000,0x00008000 带符号位整数前面补符号,无符号整数位前面补0
return 0;
}
C语言类型转换与位填充
本文通过C语言代码示例,深入探讨了有符号和无符号短整型变量之间的类型转换过程,以及它们在内存中如何进行位填充。特别关注了当将一个有符号整数转换为无符号整数时,其符号位是如何被处理的,以及这种转换对数值表示的影响。
1135

被折叠的 条评论
为什么被折叠?



