这是我的代码片段;C无符号字符算术运算不能按预期工作
Npp8u * imageHost;
typedef unsigned char Npp8u;
...
for (int i=0;i<nHeight;++i)
{
for (int j=0;j<nWidth;++j)
{
printf("number_befre : %u\n",imageHost[i*nWidth+j]);
imageHost[i*nWidth+j] = imageHost[i*nWidth+j]-Npp8u(min);
imageHost[i*nWidth+j] = imageHost[i*nWidth+j]/(max-min);
printf("number : %u\n",imageHost[i*nWidth+j]);
}
}
...
某些值被分配给max = 202
和min = 0
和从imageHost萃取。我通过调试纠正了它,但整个元素的内容为imageHost
。我能做些什么来使这些陈述以合理的精度工作?这是关于我使用的数据类型的限制吗?
'Nppu(min)'无效C.您是否将其编译为C++? – 2013-04-20 13:09:32
抱歉的代码是缺乏,我编辑 – erogol 2013-04-20 13:09:44
这实际上是cuda代码,但主机端 – erogol 2013-04-20 13:12:06