不管是什么样的数据,在内存中都是以二进制0、1的形式存储的。区别只是在于你想用什么方式去解析。
比如说一个变量:
uint8_t temp = 0xff;//在内存中存储形式为:1111 1111
printf("temp = %d", temp);//用有符号整数的格式说明符去解析该变量,最高位用作符号位,会被解析成负数,输出一个负数。
printf("temp = %u", temp);//用无符号整数的格式说明符去解析该变量,输出255。
printf("temp = 0x%x", temp);//用16进制格式说明符去解析该变量,输出0xFF。
输出什么,取决于你想怎么解析,但是它的内容始终是1111 1111。