当前位置:首页 > 内存 > 正文

a空格1是不是内存变量

  • 内存
  • 2024-06-08 08:45:16
  • 4807

一、c语言地址到底是一个段还是一个点?比如inta,a的地址为0x1,这个1到底是什么?是表示内存里面地址的一个C语言的地址是一个点,或者说“偏移量”。在程序中,每个变量都有不同的偏移量。
操作系统在将程序加载到内存中时,会临时分配一块区域,内存中的真实地址等于临时分配的值+“偏移量”。
程序运行时,去真实地址读写数据(获取和存储数字)。数据在算术单元和寄存器中进行处理。
地址相当于门牌号,方便查找数据。


二、float变量0在内存中如何表示(0/1代码是多少它按照IEEE754标准存储在内存中。
可以使用c/c++中的union变量方法输出4个字节来查看。
例如:
#include
intmain()
{
unionuu{floatf;chars[4];}u;
u.f=0.0f;
printf("%02x%02x%02x%02x\n",u.s[3],u.s[2],u.s[1],u.s[0]);
u.f=1.0f;
printf("%02x|%02x|%02x|%02x\n",0xff&u.s[3],0xff&u.s[2],0xff&u.s[1],0xff&u.s[0]);
return0;
}
0是十六进制全零:0x00000000
1是十六进制:3f|80|00|00大尾数和小尾数代码结尾必须是以4字节顺序返回。