数据类型,char,float

数据类型和整型数据:

所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占 高博整理 多少字节)以及数据的存储形式
不同的类型分配不同的长度和存储形式 整形类型:

         整形类型:                 浮点类型:

   基本整型 int         4      单精度浮点类型    float    4
   短整型  short        2      双精度浮点类型    double   8
   长整型   long        4
   双长整型 long long   8
   字符型   char        1
   布尔型   bool        1

注意点:
1、整数以补码的方式进行存储。
2、数值的原码,反码和补码之间的转换。
3、注意负数的存储及各个整型值的边界
4、有符号数最高位表示符号位,0 为正数,1 为负数,无符号数最高 位表示数值。
5、整数也可以用八进制表示,数值前以 0 开头,也可以用十六进制 表示,数值前以 0x 开头。

char 类型

因为只有八位,如果是无符号那么当八位全部是 1 的时候,11111111 那么就是 255 对于有符号来说:最高位即表示符号位也表示数值位,当为 01111111 时为最大值 127,当为 10000000 时为-128 的补码也就是最小值。具体如下图显示:
char 类型
思考:

Int main()

{ For(chari=0;i<128;i++)    

      { Printf(“%d”,i);//为什么死循环}

Return0; }

因为在执行到i=127时再对i++,由于定义为有符号char,导致自加之后为-128,所以不会出现>=128的数字导致死循环。

float 在内存中的存储方式:

float
符号位:正数为0,负数为1
指数:存放转化为2进制科学计数法后的指数部分
尾数:存放转化为2进制科学计数法后的小数部分

eg:12.5(10)——1100.1(2)——1.1001*2^3(2)
    正数所以符号位为0
    指数存放3   +127的二进制
    尾数存放1001后面用0补全

指数的取值范围:-127-128,如果除去指数为 0 和 1 那就是-126-127
精度:尾数表示精度,尾数越多越精确

从高地址向低地址增长。
先定义的先压栈

相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页