吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 210|回复: 1
收起左侧

[求助] 写高精度class时遇到问题

[复制链接]
faryou 发表于 2024-12-22 17:47
https://wwxe.lanzoub.com/iBsWp2injj2j
RT,语言cpp,这个class,里面的new_number函数用于扩大内存,但是运行之后尝试输出每一位数字结果空白,麻烦哪位大佬看下

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

chenzhigang 发表于 2024-12-22 22:17
你调试一下就行
            if (head_len > head_size || tail_len > tail_size) {
                new_number(head_len - head_size, head_len - tail_size);
            }
这可能溢出
operator=(const char * num)  没返回值
        void new_number(uint32_t add_head, uint32_t add_tail) {
            uint8_t *new_head, *new_tail;
            uint32_t new_head_size, new_tail_size;
            new_head_size = head_size + add_head;
            new_tail_size = tail_size + add_tail;
            new_head = new uint8_t[new_head_size];
            new_tail = new uint8_t[new_tail_size];
            delete[] head;
            delete[] tail;
            head = new_head;
            tail = new_tail;
            head_size = new_head_size;
            tail_size = new_tail_size;
        } 这样就能扩容
            uint32_t i;
            i = 0;
            while (*(num + (i)) != '.') {
                head[i] = *(num + i);
                i++;
            }

            while (*(num + (i)) != '\0')
            {
                *(tail + i) = *(num + i);
                i++;
            } 这也要处理下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-2 20:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表