c语言存储数据的方式,c++ 数据存储

  c语言存储数据的方式,c++ 数据存储

  Yyds干货库存

  一.数据类型

  基本类型

  打印类型

  大小(字节)

  字符类型

  %c

  一个

  短整数

  %d

  2

  Int整形

  %d

  四

  长塑料

  %ld

  四

  longer较长的形状

  %lld

  八

  浮点单精度浮点型

  %f

  四

  双浮点型

  %lf

  八

  类型的含义:

  使用此类型来打开内存空间的大小(大小决定使用范围)。如何看待内存空间的角度?简单分类:

  整数族

  茶

  //(直接用char类型,不确定是无符号还是有符号,看编译器,一般是有符号类型)

  //存储//char时,存储的是它的ASCII码值,也是整数,所以属于塑料家族。

  无符号字符

  有符号字符

  短(带符号的短)

  无符号短整型[int]

  有符号短[int]

  int(有符号整数)

  无符号整数

  有符号整数

  长(长签名)

  无符号长整型[int]

  有符号长整型浮点族

  漂浮物

  双结构类型-定制类型

  数组类型

  结构类型结构

  枚举类型枚举

  联合类型联合指针类型

  int * pi

  char * pc

  float * pf

  void * pv空类型

  空的

  Void表示空类型(无类型)

  (通常应用于函数的返回类型、函数的参数、指针类型)

  二。形状在记忆中的存储

  (补码以相反的顺序存储在内存中)

  之前已经讲过将表单存储在整数内存中,这里就不多说了。

  图中是十六进制形式,四个二进制位换一个十六进制位。

  a的补码的十六进制形式是FFFFFFF6。

  注意:对于整形手术:

  1.数据用补码存储。

  2。表达式计算由补码计算。

  3.打印并显示原始代码。

  示例:

  #包含stdio.h

  int main()

  {

  char a=-1

  //因为char是1个字节

  //所以是1111111存储在a中。

  有符号char b=-1;

  //11111111

  无符号字符c=-1;

  //11111111

  printf(a=%d,b=%d,c=%d ,a,b,c);//a=-1,b=-1,c=255

  //打印为%d,将整数提升。

  //整形升级看原符号位。

  //a因为是char,所以通过符号位提升。

  //a:111111111111111111111111111111111111111111111111内存内补

  //在%d中打印时,你看它的原始代码,所以是100000000000000000001。

  //a和b类似。

  //提升有符号整数时,符号位将被视为最高位。

  //ab:原代码1000 0000 0000 0000 0000 0000 0000 0000 0001-1

  //c: 0在提升无符号整数后添加。

  //C:000000000000000000001111111-无符号C的补码。

  //C:0000000000000000000001111111-无符号C的原始代码。

  返回0;

  }

  1.*****

  //%u是打印的无符号整数,认为存储在内存中的补码对应的是无符号数。

  //%d是打印的有符号整数,认为存储在内存中的补码对应一个有符号数。

  #包含stdio.h

  int main()

  {

  char a=-128;

  //a的补码:1111 1111 1111 1111 1111 1111 1111 1111 1000 0000

  //截断后为:1000 0000

  //因为是%u打印,所以发生整形提升,也是有符号的char,高位用1填充。

  //升级后,内存中有一个补码,而且是无符号数补码,高位不是符号数。它的补码和原码是一样的——1111 1111 1111 1111 1000000。

  printf(%u\n ,a);//4294967168//% d为是时,结果为-128。

  返回0;

  }

  2.2.char的取值范围

  答:有符号字符的取值范围:-128~127

  27是最大值,加1不会变成128,但会是-128。

  b:无符号字符的范围是0~255。

  (无符号整形减为0时,还可以再减,但不会减为负数,而是减为最大无符号数,像循环一样。而无符号most Osuka 1变为0)。

  示例:

  #包含stdio.h

  int main()

  {

  无符号int I;//没有符号表示I值不是负值。

  for(I=9;I=0;我-)//恒成立。

  {

  printf(%u\n ,I);//当它是%d时,将认为存储器中存储了一个有符号的数。

  }

  返回0;

  }

  三。大小字节顺序的介绍与判断

  Big-endian(存储)模式是指数据的低位存储在内存的高位地址,而数据的高位存储在内存的低位地址;

  小端(存储)模式是指数据的低位存储在内存的低位地址,而数据的高位存储在内存的高位地址。

  注意:右地址为低,左地址为高。

  44是0x11223344中的低位地址。

  int main()

  {

  int a=0x11223344

  返回0;

  }

  答:11 22 33 44存储在内存中可以分为两种:

  1:低11 22 33 44高-大端

  2:低44 33 22 11高-小端

  示例:判断当前机器的字节顺序

  //可以通过获取第一个字节来判断

  #包含stdio.h

  int main()

  {

  int a=1;

  char * p=(char *)a;

  如果(*p==1)

  Printf(小端\ n );

  其他

  printf( big end \ n );

  返回0;

  }

  //函数方法

  #包含stdio.h

  int check_sys()

  {

  int a=1;

  //0000 0000 0000 0000 0000 0000 0000 0001

  //大端存储:0x0000001取消引用-0

  //小型端存储:0x 01 00 00 00取消引用-1

  return(*(char *)a);

  //a取出A的地址,然后把这个int*类型的地址转换成char*,最后解引用。

  //对于大端存储,返回0;小型存储,返回1

  }

  int main()

  {

  int ret=check _ sys();

  if (ret==1)

  Printf(小端\ n );

  其他

  printf( big end \ n );

  返回0;

  }

  四。浮点型在内存中的存储

  浮点系列:浮点型、双精度型、长双精度型

  #包含stdio.h

  int main()

  {

  int n=9;

  float * pFloat=(float *)n;

  printf( n的值为:%d\n ,n);//9

  printf( * p float 的值为:%f\n ,* p float);//0.000000

  //从浮点数的角度测试*pFloat时,在% f中打印。

  * pFloat=9.0

  printf( num的值是:%d\n ,n);//1091567616

  //放浮点型,从整数角度取

  //解释浮点数和整数在内存中的存储方式不同。

  printf( * p float 的值为:%f\n ,* p float);//9.000000

  返回0;

  }任意二进制浮点数V的存储形式规则:(-1) S * M * 2 E。

  (-1) s表示符号位,当S=0时,v为整数,当S=1时,v为负数。

  M代表一个有效数字,1=M 2

  2 e表示指数位。

  转载请联系作者取得转载授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: