数据在内存中的存储以及百度笔试题

本文详细解释了整型在内存中的存储方式(大端和小端)、补码的概念,以及为何讨论大小端存储的重要性。通过实例和面试题形式探讨了不同类型的数据存储技巧,包括数组、结构体、指针和空类型的内存表示。

目录

一.整型家族

什么是大小端存储(百度笔试题)

大端字节序存储

小端字节序存储

为什么要讨论大小端字节序存储

写一个程序判断是大端还是小端存储(百度笔试题)

思路:用1去判断,如果返回1则是小端,如果返回0则是大端。

例题1:输出结果:%d打印十进制有符号整型

第二题 %u打印无符号整数

 第三题:

 什么是截断:

 第四题:

 第五题


一.整型家族

  1. char 
    1. unsigned char
    2. sighned char 是否等于char取决于编译器
  2. long 
    1. unsigned long    [int]
    2. sighned long [int] 
  3. short
    1. unsigned short    [int]
    2. sighned char [int] 
  4. int 
    1. unsigned int
    2. sighned  int = int 

二. 构造类型(自定义类型)

  1. 数组类型
  2. 结构体类型 struct
  3. 枚举类型 enum
  4. 联合类型 union

三.指针类型

四.空类型

五. 整数在内存中的存储

  1. 原码
  2. 反码
  3. 补码(内存中存的是补码)

最高位为符号位,其他位为有效位:有符号整型,

 

为什么数据存放在内存中要用补码的形式

什么是大小端存储(百度笔试题)

在内存中可以自定义顺序,但是只有从大到小,或者从小到大最为方便。

其中:

  1. 递增的如11 22 33 44 为大端存储
  2. 递减的如44 33 22 11 为小端存储

 如地址:0x11223344 是十六进制,一位十六进制如1为0001占四个bit空间,11占8个bit空间,所以两个十六进制位占一个字符(8bit)。

大端字节序存储

0x11223344:将高字节如11放在低地址处,低位字 节放在高地址处,为大端存储

小端字节

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值