C语言——signed 与 unsigned的数据转换

mac2025-06-09  45

#include "stdio.h" int main() { short x; short y = 0xf9db; unsigned short z = 0xf9db; int i = 10; unsigned int j = 10; printf("y = %d\r\n", y);//有符号,直接可以输出-1573 printf("z = %d\r\n", z);//无符号,输出正值 x = -1*((~z)+1);//无符号的变为有符号 printf("x = %d\r\n", x); printf("y除以有符号数: %d\r\n", y/i);//正确 printf("y除以无符号数: %d\r\n", y/j);//出现问题 printf("z除以无符号数: %d\r\n", z/j);//正确 return 0; }

最新回复(0)