[C/C++] 浮点数float和double内存存储方式解析学习

本文深入探讨了C/C++中浮点数类型float和double的内存存储方式,包括它们的位宽、表示规则以及如何进行二进制转换。通过对IEEE 754标准的理解,读者将能够更好地掌握浮点数在计算机中的表示和运算。
摘要由CSDN通过智能技术生成
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;
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值