免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: light511
打印 上一主题 下一主题

pow(readfile.t[k],j)请教 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2009-07-08 19:47 |只看该作者

回复 #20 openspace 的帖子

哈哈,多谢大虾,果然是定义数组错了,学习了.
还想请教下,为啥我计算得到的结果都是负数呢?我那程序里只有加和乘运算,怎么搞出负数来了?
-138190818210168050000000000000000000000000000000000000000000000000000000000000000000000.000000
-569279194440140490000000000000000000000000000000000000000000000000000000000000000000000000.000000

[ 本帖最后由 light511 于 2009-7-8 19:52 编辑 ]

论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
22 [报告]
发表于 2009-07-08 20:01 |只看该作者

回复 #21 light511 的帖子

数太大溢出了?

换long double试试

论坛徽章:
0
23 [报告]
发表于 2009-07-08 22:51 |只看该作者

回复 #22 openspace 的帖子

郁闷啊
请问C++中long double 二维数组如何定义以及初始化?我自己是这么做的,但是好想没有全部初始化,不知道什么原因?
  1. long double ** A;
  2. A= new long double*[sz];
  3. for(int i=0;i<sz;i++)
  4. {
  5. A[i]=new long double[sz];
  6. memset(A[i],0,sizeof(A[i])*sizeof(long double));
  7. }
复制代码

论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
24 [报告]
发表于 2009-07-09 11:42 |只看该作者

回复 #23 light511 的帖子

这个不能这样初始化
new在堆上分配的空间可能还包含一些元数据,具体空间和元数据如何组织很难说
这样吧
for (int j = 0; j < sz; j++)
    A[ i][ j] = 0;

论坛徽章:
80
20周年集字徽章-庆
日期:2020-10-28 14:09:1215-16赛季CBA联赛之北京
日期:2020-10-28 13:32:5315-16赛季CBA联赛之北控
日期:2020-10-28 13:32:4815-16赛季CBA联赛之天津
日期:2020-10-28 13:13:35黑曼巴
日期:2020-10-28 12:29:1520周年集字徽章-周	
日期:2020-10-31 15:10:0720周年集字徽章-20	
日期:2020-10-31 15:10:07ChinaUnix元老
日期:2015-09-29 11:56:3020周年集字徽章-年
日期:2020-10-28 14:14:56
25 [报告]
发表于 2009-07-09 11:55 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP