环境:linux 虚拟机中 C语言编译系统
有符号和无符号之间的数据转换
例如:signed int -> unsigned int
用%u输出,将有符号转为无符号;
转换的时候,正数的情况下两个数相等,负数,会从2^32开始减。
例如:-n 转换完后的值为2^32-n 为一个非常大的值。
可以通过比较转换之后的无符号和有符号的数,来判断是否发生了转换。
如有错误,欢迎各位指正。
环境:linux 虚拟机中 C语言编译系统
有符号和无符号之间的数据转换
例如:signed int -> unsigned int
用%u输出,将有符号转为无符号;
转换的时候,正数的情况下两个数相等,负数,会从2^32开始减。
例如:-n 转换完后的值为2^32-n 为一个非常大的值。
可以通过比较转换之后的无符号和有符号的数,来判断是否发生了转换。
如有错误,欢迎各位指正。