c语言中的数据类型(待完善)

内容概要

  一、整形与浮点型(原码补码反码)

  二、字符类型和“字符串类型”

  三、常量

 

1、整形与浮点型

  -整形

  2字节

    short(signed short int)

      范围 -2**15到2**15-1

    unsigned short int

  4字节

      范围 0到2**16-1

    int(signed int)

      范围 -2**31到2**31-1

    unsigned int

      范围 0到2**32-1

  8字节

    long

      记不住

    long long

      记不住

 

    ps:1、字符类型char也可以存储整形,存储范围为

      char(signed char)-2**7到2**7-1

 

      unsigned char 0到2**8-1

         2、unsigned将数据类型转化为无符号类型,如果没有默认为有符号类型

        -有符号类型在存储数据时,比如char(占1字节存储空间),会将8为比特位中最前一位表示数字的正负,0表示整数,1表示负数

          7的二进制表示形式  0000111

          -7的二进制表示形式  0000111

        -所以真正存储数字范围的只有7个比特位,范围则在2**7左右

 

  

  反码和补码只有负数有;正数反码,补码和源码一样

  计算机只会做加法,计算机存储的数据都是以补码形式存储的;当使用到数据时,会将补码反解为源码

    -源码,最初的二进制形式

      char类型的7的源码表示形式  0  0000111

      char类型-7的源码表示形式  1  0000111

 

    -补码,补码的提出是为了实现计算进行减法运算(通过变化负数源码的值,来实现通过加法得到和减法一样的运算结果)

      补码就是在反码的基础上加1

      char类型的7的补码表示形式  0  0000111

      char类型的-7的补码表示形式  1  1111001

 

    -反码,可以理解为负数源码转换为补码的中间产物

      反码就是将所有非表示符号的比特位进行0和1的调换

      char类型的7的反码表示形式  0  0000111

      char类型的-7的反码表示形式  1  1111000

 

    计算机计算8 - 7实现过程

      8的补码 0 0001000

      -7源码 0 0000111

      -7反码 1 1111000

      -7补码 1 1111001

 

      8 - 7 => 0 0001000 +  1 1111001 =  000000001(得到的结果为补码)=>  反解为源码 000000001

 

***待完善***

posted @ 2021-03-04 18:29  口乞厂几  阅读(117)  评论(0)    收藏  举报