In the guava cache to see the implementation of the source code, which has an upward rounding operation, its source code is as follows:
int segmentcapacity = initialcapacity/segmentcount;if (segmentcapacity * Segmentcount < initialcapacity) {++segment capacity;}
About rounding up, down rounding, rounding and other operations, there are different implementations, efficiency, is also basic can be ignored, after all, with less, here on the up/down rounding and rounding the programming implementation of the finishing.
For arithmetic >>>>>>
Rounding Down:
A/b
Rounding up:
(a+b-1)/b
Rounded:
Int (float (a)/b+0.5)
For fixed value >>>>>>
You can use the floor and Ceil functions built into the programming language. Floor (x) returns the largest integer that is less than or equal to X. Ceil (x) returns the smallest integer greater than X.
Here is a simple implementation with no error checking, etc.
int floor (double x) {return (int) x-(x< 0);} int ceil (double x) {return (int) x + (x> 0);} int round (double x) {return floor (x+0.5);}
Up/down rounding and rounding programming implementation