当前位置: 代码迷 >> 综合 >> C++细节1:无符号扩展和符号扩展
  详细解决方案

C++细节1:无符号扩展和符号扩展

热度:30   发布时间:2023-10-20 21:46:36.0

针对无符号整型和有符号整型

int 最高位是0的话,全部补充为0。最高位是1的话,全部补充为1

unsigned 由低位扩展到高位 全部补充为0

sprintf(s, fmt, ...)

例如

short si = -1;

sprintf(s, "%08X", si);

会进行符号扩展,产生FFFF FFFF

sprintf(s, "%08X", (unsigned short)si);

进行无符号扩展,0000 FFFF。空位用0补齐

FF为1个字节

FF FF为一个short

FFFF FFFF 为一个int,4个字节,8个位置

 

细节才是C的精髓

  相关解决方案