C语言之数据的存储

本文探讨了C语言中数据在内存中的存储方式,重点讲解了整形数据的存储,包括原码、反码、补码的概念及其在计算机中的作用。此外,还介绍了大小端字节序的基本概念,并简要提及了浮点型数据在内存中的存储方式。通过实例展示了数据如何以补码形式存储,并分析了内存中的字节排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

数据在内存中是如何存放的呢?
如此繁多种数据的存储方式都是一样的吗?

那么接下来,我将带你深入内存中,了解其存储数据的奥秘。

编译器环境:vs2019

一、整形的存储

1.整形存储类型

在C语言当中,整形包括如下类型:

char 	//unsigned char 		signed char
short   //unsigned short 		signed short
int		//unsigned int 			signed int
long	//unsigned long 		signed long		
long long

这时可能有人就疑惑了,char不是字符类型吗?在这里就要注意ASCII码了,char类型在存储时都是以ASCII码的形式进行存储的,所以我们在归类时可以将它归类为整形方式的存储,在将存储之前我们还要在熟悉一下原反补的概念。

2.原码 反码 补码

1.原码
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值.

2.反码
正数的反码是其本身,负数的反码是在原码的基础上, 符号位不变,其余位按位取反.

3.补码
正数补码是其本身,负数的补码是在反码的基础上+1.

3.整形数据的存储

再熟悉了原反补后,我们可以说:在计算机中,整形数据一律用补码进行存储和表示。

原因在于1.可以将符号位和数值域统一处理;
2.加法和减法也可以统一处理。
原因1可以理解,原因2我在这里解释一下。
首先是运算角度,在计算机内部减法是当做加法一起运算的,即(1-1)就可以表示为(1+(-1࿰

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值