class float类
{
/*
float浮点数在内存的存放方式:
bit 31 符号位 1位
bit 30-23 指数位 8位
bit 22-0 尾数位 23位
*/
public:
float类(float 参数) {
浮点数 = 参数; 初始化(); };
void 设置浮点数(float 参数) {
浮点数 = 参数; 初始化(); };
float 获取浮点数() {
return 浮点数; };
//如果是负数返回真,否则返回假
bool 拆分浮点数(int *整数, float *小数) {
int 整数位数 = 指数 - 127;
int 位记录 = 22;
*整数 = 0;
*小数 = 0.0f;
if (!整数位数)
{
*整数++;
}
else if (整数位数 > 0)
{
//整数
*整数 += 指数运算(2, 整数位数);
for (int i = 整数位数; i > 0; i--)
{
二进制数 = *浮点指针 >> 位记录--;
if (二进制数) {
*整数 += 指数运算(2, i - 1); }
}
//小数
for (int i = 位记录; i >= 0; i--)
{
二进制数 = *浮点指针 >> i;
[C/C++] 浮点数float和double内存存储方式解析学习
最新推荐文章于 2022-06-29 20:32:40 发布
本文深入探讨了C/C++中浮点数类型float和double的内存存储方式,包括它们的位宽、表示规则以及如何进行二进制转换。通过对IEEE 754标准的理解,读者将能够更好地掌握浮点数在计算机中的表示和运算。
摘要由CSDN通过智能技术生成