C-进阶 数据在内存中存储 知识点梳理

本文探讨了计算机内存中数据的存储方式,强调数值以补码形式表示,便于统一处理正负数和简化硬件设计。同时,介绍了字节序的概念,包括大端和小端存储模式,解释了数据在内存中的高低地址排列规则。理解这些基础知识对于深入理解计算机系统和进行程序设计至关重要。

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

整形在内存中的存储

变量与内存的关系:
在这里插入图片描述

知识点梳理:
 数据在所开辟的内存中是如何存储的?
        在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理(CPU只有加法器)此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。 目的就是减少计算机的硬件成本
 原码反码补码:
        表示正数不用补码。对于负数才要补码。
        原码是数的二进制,反码符号位不变其余为取反,补码为反码+1
        补码取反+1得到原码
 字节序:
        在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型。对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如果将多个字节安排的问题。因此就导致了大端存储模式和小端存储模式。
        大端:数据的低位保存在内存的高地址中
        小端:是指数据的低位保存在内存的低地址中       (小小小)

我们只需要记住:计算机保存的是补码,用补码进行运算,最后再以原码的形式输出。根据这个原理,就可以计算笔试题啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值