数据在内存中的存储

    科技2026-03-08  6

    一、数据类型

    1.内置类型 整形家族: char short int long char: signed char 把最高位当成符号位 unsigned char 不会把最高位当成符号位 char是signed char还是 unsigned char 取决于编译器 short:signed short unsigned char short是signed short int 和long与short一样 浮点数家族: float double 2.自定义类型

    数组类型结构体类型 struct枚举类型 enum联合类型 union

    3.指针类型 4.空类型

    二、整形在内存中的存储

    在计算机中有符号数有三种表示方法,即原码、反码、补码 三种方法均有符号位和数值位两个部分,符号位用0表示正,1表示负 int a=3 正数的原反补都是一样的 原码 00000000 00000000 00000000 00000011 反码 00000000 00000000 00000000 00000011 补码 00000000 00000000 00000000 00000011 int b=-1 原码 10000000 00000000 00000000 00000001 反码 11111111 11111111 11111111 11111110 补码 11111111 11111111 11111111 11111111

    大小端存储 大端存储:将一个数的低位字节序的内容放在高地址处,将一个数的高位字节序的内容放在低地址处。 小端存储:将一个数的低位字节序的内容放在低地址处,将一个数的高位字节序的内容放在高地址处。 采用编程的方式来验证当前机器是采用大端存储还是小端存储

    #include <stdio.h> int main() { int a=1; char* ch=(char*)&a; if(*ch==1) { printf("小端存储\n"); } if(*ch==0) { printf("大端存储\n"); } return 0; }

    三、浮点型在内存中的存储

    表示:

    Processed: 0.014, SQL: 9