c语言数据的存储

 数据是如何在计算机中存储的,在电脑中可是只有0和1,其他数据他是识别不了的。

下边我们讲讲计算机是如何储存整数的:

1. 原码

原码是将整数的符号与数值分开来表示。数值部分按照二进制的正常表示方式来表示,符号位为最高位,0代表正数,1代表负数。

例如,对于十进制数-42,它的原码表示为:1 0101010。

2. 反码

反码是将原码的符号位不变,而数值部分按位取反,得到的新数值再代表这个整数。

例如,对于十进制数-42,它的反码表示为:1 1010101。

3. 补码

补码是将原码的符号位不变,而数值部分按位取反,再加1,得到的新数值再代表这个整数。

例如,对于十进制数-42,它的补码表示为:1 1010110。

在计算机中,采用补码来表示整数,因为补码运算可以简化加法运算,使得正数和负数的加法可以使用同一种运算方法进行处理。同时,补码还具有对计算机硬件更加友好的特点,因此被广泛地使用。

那在这些数据有没有先后之分呢?答案肯定是有的,那我们就来认识认识大小端存储:

大小端存储是指计算机在存储数据时,对于多个字节的数据,按照不同的顺序进行存储的方式。

在小端存储中,低位字节会被存储在内存的低地址中,而高位字节则会被存储在内存的高地址中。例如,一个32位整数0x12345678在小端存储中会被存储为0x78 0x56 0x34 0x12。

在大端存储中,高位字节会被存储在内存的低地址中,低位字节则会被存储在内存的高地址中。例如,同样是一个32位整数0x12345678,在大端存储中会被存储为0x12 0x34 0x56 0x78。

不同的CPU和操作系统可能采用不同的大小端存储方式,因此在数据存储时需要考虑大小端存储的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值