ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数据的存储介绍

2021-02-08 17:30:55  阅读:143  来源: 互联网

标签:存储 字节 00000000 补码 介绍 类型 数据 原码


数据的存储

一、数据类型介绍

二、整形在内存中的存储方式

三、大小端字序介绍

 

一、数据类型介绍

1.数据类型

char        //字符类型,在内存中是按照该字符的ASC码值来存储的,大小为1个字节

short       //短整形类型,大小为2个字节
int         //整形类型,大小为4个字节
long        //长整形类型,大小为4个字节
long long   //更长的整形类型,大小为8个字节

float       //单精度浮点型,是为小数类型,大小为4个字节
double      //双精度浮点型,同为小数类型,但精度更高,大小为8个字节

2.构造类型:

数组类型——array

结构体类型——struct

枚举类型——enum

联合类型——union

3.指针类型

char* pc

int* pi

float* pf

void* pv

4.空类型

void表示空类型,通常表示函数的返回类型、函数的参数、指针类型。

 

二、整形在内存中的存储方式

数据在内存中都是以二进制的形式存储的,且根据数据类型的不同,需要开辟的空间大小也不同。那么在讨论数据是如何存储在开辟的空间中这个问题之前,需要知道几个概念。

原码反码补码

原码:回到起点,数据在内存中都是以二进制的形式存储的,那么一个数字的原码就是它的二进制形式。一个原码是由符号位和数值位组成,符号位为0表示这是一个正数,为1则表示为负数,数值位则是十进制转换为二进制即可。

反码:反码则是将原码中的数值位,按位取反,即0变1,1变0。

补码:补码则是为反码加上1即可。

注:正数的原码、反码、补码都相同

例如:26   -35

26  原码:00000000 00000000 00000000 00011010                -35    原码:10000000 00000000 00000000 00100011

      反码:00000000 00000000 00000000 00011010                         反码:  11111111  11111111  11111111  11011100

      补码:00000000 00000000 00000000 00011010                         补码:  11111111  11111111  11111111  11011101

在计算机系统中,数值一律用补码来表示和存储。因为使用补码,可以将符号位和数值域统一处理,而且因为CPU只有加法器,所以使用补码也可以统一处理加法和减法。

 

三、大小端字序介绍

大端字节序,是指数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中。 

小端字节序,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。

当前大多的计算机都是使用小端字节序,可以通过以下代码来验证当前的存储方式是小端还是大端。

#include<stdio.h>
int main(){
  int a = 1;
  char* p = (char*)&a;
  if(*p == 1){
    printf("当前存储方式是小端\n");
  }
  else{
    printf("当前存储方式是大端\n");
  }
  return 0;
}

 

 

 

标签:存储,字节,00000000,补码,介绍,类型,数据,原码
来源: https://blog.csdn.net/zxc9842494426/article/details/113756416

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有