有符号数和无符号数之间的转换
C语言运行各种不同的数据类型之间做强制类型转换,假设x为一个有符号整型变量,通过(unsigned)x可以将一个有符号整数转换为无符号整数。
对于16位,在一台采用补码机器上,强制类型转换为无符号数不改变每一位上的值,只是改变了对于字符的解释方式。
在C语言中,大多数数字默认为有符号,在进行输出时,通常采用如下:
d
u
x
有符号十进制
无符号十进制
十六进制
C语言的隐式处理:
当一个有符号数和无符号数进行运算时,C语言会隐式地将有符号数强制转换为无符号数来执行运算。