电子商务公司网站建立,广州建设网站是什么,wordpress做推送,保亭交通工程建设局网站1.0 浮点数指针 float f 1.2f:如何将它对应的4个字节地址空间的数值以十六进制打印出来? 数据在所有计算机中都是以二进制形式存储的#xff0c;然后以8个位为一个单元称作“字节”#xff0c;作为计 量和运算处理单元#xff0c;比如我们说一个文件大小是1MB#xff0c;指…1.0 浮点数指针 float f 1.2f:如何将它对应的4个字节地址空间的数值以十六进制打印出来? 数据在所有计算机中都是以二进制形式存储的然后以8个位为一个单元称作“字节”作为计 量和运算处理单元比如我们说一个文件大小是1MB指的是1M字节; 在计算机中每个字节都有它对应的地址类似于门牌号CPU通过地址来访问这个字节空间 2.0 引入数据类型 对于计算机硬件系统二进制01数据没有任何意义为了有效的组织管理这些数据人为的规 定了数据类型去解释这些二进制数据: 3.0 应用案例 int main(void)
{float f 1.2f;uint8_t *p;p (uint8_t *)f;printf(*p %#x.\n,*p);p;printf(*p %#x.\n,*p);p;printf(*p %#x.\n,*p);p;printf(*p %#x.\n,*p);return 0;
}
运行以上程序输出如下结果 uint8 tvalue[4]{0x9A,0x99,0x99,0x3F};如何转换为float类型数值并打印?
案例分析
可以定义float *f用它来保存数组的首地址但是此时由于类型不匹配需要强制类型转换然后可以使用*f去访问这段内存空间了调用printf函数 int main(void)
{uint8_t value[4] {0x9A, 0x99, 0x99, 0x3F};float *f (float *)value;printf(*f %.1f\n,*f);return 0;
}运行以上程序输出如下结果 ...