数据的存储

本文详细介绍了C语言中的数据类型,包括整型家族(如char、short、int、long等)和浮点型,以及它们在内存中的存储形式,如原码、反码、补码和大小端存储模式。还探讨了为何计算机系统使用补码存储数值的原因,并通过实例解释了如何判断机器的字节序。
摘要由CSDN通过智能技术生成

今天,让我来给大家分享一篇关于数据的存储相关的知识点。

什么是数据的存储?简而言之,就是数据在內存中的存储形式

本次内容大致分为:

1. 数据类型的详细介绍
2. 整型在内存中的存储解析
3. 浮点型在内存中的存储解析

一、数据类型的详细介绍

1.类型的基本归类 

整型家族:(默认window系统,32位机下)

(1)char:signed char [1 byte],unsigned char [1 byte]

(2)short:signed short (int) [2 byte],unsigned short (int) [2 byte]

(3)int:signed int [4 byte],unsigned int [4 byte]

(4)long:signed long (int) [4 byte],unsigned long (int) [4 byte]

(5)long long:signed long long (int) [8 byte],unsigned long long (int) [8 byte]

补充:1 byte = 8 bit

浮点型家族:(默认window系统,32位机下)

(1)单精度:float [4 byte]

(2)双精度:double [8 byte]

以上为C语言的内置数据类型。

构造类型:

(1)数组类型

(2)结构体类型:struct

(3)枚举类型:enum

(4)联合类型:union

指针类型:(默认window系统,32位机下)

char*,void*,int*,float*......[4 byte]

空类型: 

void:表示空类型(无类型),通常用于函数的返回类型,函数的参数,指针类型。

二、整型在内存中的存储 

整数表示的范围:limit.h中定义

整数有三种表示方式,原码、反码、补码。

1.原码、反码、补码 

原码:直接按照正负数的形式翻译成二进制就可以。

反码:原码基础上符号位不变,其余位按位取反。

补码:反码基础上加1。

规定:

(1)对于整型来说,数据实际存储到内存的是补码。

(2)这三种表示方式均有符号位和数值位(有效位)组成,符号位用0表示正数,用1表示负数。

(3)正整数原反补相同,负整数原反补不相同,需要计算。

扩展:为什么存储到內存的是补码??

在计算机系统中,数值一律用补码形式存储,原因在于,使用补码,可以将符号位和数值域统一处理,同时,加法和减法也可以统一处理(CPU只有加法处理器)。此外,补码和原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

2.大小端介绍

观察下面照片,內存中存储的数据顺序是不是不对劲?

大端(字节)存储模式:是指数据的低位保存在内存的高地址处,而数据的高位保存在内存的低地址中。

小端(字节)存

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值