#include <stdio.h>

int main()
{
    short a=-1;
    unsigned int b=a;
    int c=a;

    printf("%x\n", b);
    printf("%d\n", c);

    a=1;
    b=a;
    c=a;
    
    printf("%x\n", b);
    printf("%d\n", c);


    return 0;
}
输出为:
ffffffff
-1
1
1

说明,把short型数据赋值给int或者unsigned int型数据时,如果short型数据是负的,则扩展的比特位全是1,;如果short型数据是正的,则扩展的比特位全是0.

 

#include <stdio.h>

int main()
{
    unsigned short a=-1;
    unsigned int b=a;
    int c=a;

    printf("%x\n", b);
    printf("%d\n", c);

    a=1;
    b=a;
    c=a;
    
    printf("%x\n", b);
    printf("%d\n", c);


    return 0;
}
输出为:
ffff
65535
1
1

说明,把unsigned short型数据赋值给int或者unsigned int型数据时,则扩展的比特位全是0

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-07
  • 2022-12-23
  • 2022-01-01
  • 2022-12-23
  • 2022-12-23
  • 2021-09-17
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-02-07
  • 2021-08-06
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案