有符号数和无符号数

有符号数

  数据二进制的最高位符号位,其它位是数据位。最高位是1,表示负数。最高位是0,表示正数

  以一字节为例:

    1111 1111~1000 0000~0000 0000~0111 1111

    -127        ~-0             ~+0              ~+127

    计算机会将-0看成-128,所以范围为-128~127

无符号数

  没有符号位,所有二进制都是数据位

  0000 0000 ~ 1111 1111

  0               ~ 255

定义有符号数的方式

  方式一:默认方式(推荐)

    int num;       //num为有符号数

  方式二:使用关键字signed显示说明

    signed int num;

输出有符号数

  %d  输出有符号int

  %hd  输出有符号short

  %ld  输出有符号long

定义无符号数的方式

  unsigned int num;

输出无符号数

  %u  输出无符号unsigned int

  %hu  输出无符号unsigned short

  %lu  输出无符号unsigned long

posted @ 2023-02-22 17:21  牙齿凤  阅读(270)  评论(0)    收藏  举报