這是我的代碼片段;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