CUDA 类型转化

类型转换函数,函数命名格式记住,左边两个下划线,右边一个,中间是类型转换的描述,如__int2float_

 

主要好处在于它的选项,其实大多数情况下,使用c内置的自动转换就可以了(相比javac的方式不太安全,因此使用时还是应该注意溢出)。

选项如下:

rn:求最近的偶数,问题:5为参数时,返回的是4还是6

rz:返回接近0的数,如__float2int_[rz](5.6)==5

ru:向上舍入,也就是采用进一法。如__float2int_[ru](5.40==6

rd:向下舍入,也就是等价于c中的直接转换。因此这个选项没有多大意义

问题:四舍五入怎么办?

解决方法,还是小学生的方式,如果十分位四舍五入,就加0.5再强制转换

 x=4.4564

四舍五入到整数位:(int)(x+0.5)

四舍五入到十分位:(int)(10*x+0.5)/10

四舍五入到百分位:(int)(100*x+0.5)/100

你可能感兴趣的:(CUDA 类型转化)