gpt4 book ai didi

c++ - 通过两个类时出现奇怪的输出数据

转载 作者:行者123 更新时间:2023-11-28 06:41:51 25 4
gpt4 key购买 nike

我的 stattic llib 有一些不稳定的数值结果:所以我开始寻找原因:并在 NDK c++ 端发现了一些带有 android_log 的非常奇怪的输出数据。

这是我的代码部分,日志是:

数据是输入矩阵

SpectralClustering::SpectralClustering(Eigen::MatrixXd& data, int numDims)
: mNumDims(numDims), mNumClusters(0)
{
Eigen::MatrixXd Deg;

for ( int ijk2 = 0; ijk2 <data.rows(); ++ijk2) {
double fde=data(ijk2,0);
LOGD( "This is a number from JNI: %d", fde );
}

Eigen::EigenSolver<Eigen::MatrixXd> es(data,true);
}

数据的数字介于 -1;1 之间(我检查它没问题)但是当我传递并使用此类创建对象时:

SpectralClustering* cls = new SpectralClustering(DATA, spec_vec4);

输出数据很奇怪,大概是16058451212.....

我想问题出在内存的某个地方,但是当我删除它时它是一样的。

最佳答案

好吧,你将 double 打印为 int,所以你有 undefined behavior在您的代码中。

您可能希望使用正确的浮点格式 "%f"。参见例如this printf reference .

关于c++ - 通过两个类时出现奇怪的输出数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25834817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com