关于多线程的问题,其中一小段代码

大佬们,size / (double)BUFFER_SIZE > size / BUFFER_SIZE这段的作用是什么啊

img

size / (double)BUFFER_SIZE > size / BUFFER_SIZE
这里,size和BUFFER_SIZE都是int类型,size / BUFFER_SIZE的计算结果是int类型,也就是只保留整数
size / (double)BUFFER_SIZE这里把BUFFER_SIZE转换成了double类型,所以计算结果是double类型,也就是包含小数部分
所以,size / (double)BUFFER_SIZE > size / BUFFER_SIZE 这句话就意味着如果size 比 BUFFER_SIZE的整数倍大(1倍以上)
也就是说,如果BUFFER_SIZE是100,那么size必须大于100,并且不能整除100,才能满足这个条件。

double型的取整后会减去小数部分