算术转化 和 存入、读取 的区别

这篇博客探讨了C++中的算术转换规则,当不同类型的数值进行运算时,低层次类型会提升到高层次类型以完成操作。此外,通过示例展示了如何使用指针进行类型转换,以及这种转换可能导致的数据不一致问题。在实际编程中,需要注意类型转换的合理性和内存操作的正确性,以避免潜在错误。

一、算术转换
如果某个操作符的各个操作数属于不同的类型,那么除非其中一个操作数的转换为另一个操作数的类
型,否则操作就无法进行。下面的层次体系称为寻常算术转换。

long double
double
float
unsigned long int
long int
unsigned int
int

如果某个操作数的类型在上面这个列表中排名较低,那么首先要转换为另外一个操作数的类型后执行运
算。
警告:
但是算术转换要合理,要不然会有一些潜在的问题。

算术转化就是在操作符运算当中类型的转化,由低转化到高。

会自动将旧的补码视角 拿(还原,读取) 出来,再以新的类型的方式(存)放进去,直接转换数据的类型。

二、存入、读取

#include <stdio.h>
int main()
{
    int n = 9;
    float* pFloat = (float*)&n;
    printf("n的值为:%d\n", n);
    printf("*pFloat的值为:%f\n", *pFloat);
    *pFloat = 9.0;
    printf("num的值为:%d\n", n);
    printf("*pFloat的值为:%f\n", *pFloat);
    return 0;
}

存进去是按float视角存S M E二进制的四个字节中

拿出来是按float视角从S M E二进制的字节中取出来




 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值