char和int类型的转换

char a=0x41 和char a=0xf1以十六进制输出的结果不同

原因:

以十六进制输出其实是隐式强转为int类型

char类型的取值范围是-128-127

而0x41的十进制是65,在取值范围内,因此前面补的是0

0xf1的十进制是241,不在取值范围内,是个负数,因此前面补的是符号位1

猜你喜欢

转载自blog.csdn.net/wyl2333/article/details/128786818