一些取整方法

看到一篇文章浮点型巧变整型,讲的是用按位取反~来取整

~~1.5  // 输出1

想到平时看源码时也看到过各种各样取整方法

1.5 | 0  // 输出1
1.5 >>> 0  //输出1

原来浮点数不支持位运算,会自动转换成整数。所以凡是对一个数进行位运算且不改变它的值就可以达到取整的效果。

在chrome里进行测试

var a=new Date();
var b;
for(i=0;i<10000000;i++){
   b = ~~1.5; // 1.5 | 0 ;  1.5 << 0 ; parseInt(1.5) ; Math.floor(1.5)
}
new Date() - a

位运算的性能明显更好,各位运算之间差别不大。

时间: 2024-10-09 08:17:26

一些取整方法的相关文章

C语言取整方法总结

C语言有以下几种取整方法: 1.   直接赋值给整数变量 int i = 3.5; 或 i = (int) 3.5; 这种方法采用的是舍去小数部分. 2.整数除法运算符' / '取整 ' / '本身就有取整功能(int / int),但是整数除法对负数的取整结果和使用的C编译器有关. 3.使用floor函数 floor(x)返回的是小于或等于x的最大整数.如: floor(3.5) = 3 floor(-3.5) = -4 4.使用ceil函数 ceil(x)返回的是大于x的最小整数.如: ce

Math提供的三个取整方法

Math.ceil() .Math.floor() .Math.round() 方法 这些方法的作用与它们的英文含义相对应,例如ceil是天花板的意思,Math.ceil() 方法为向上取整的意思.Math.ceil(11.3)结果为12,Math.ceil(-11.3)结果为-11. floor是地板的意思,Math.floor()为向下取整的意思.Math.floor(11.3)结果为11,Math.floor(-11.3)结果为-12. 最难掌握的就是Math.round()方法,它表示“

Math的三个取整方法。

Math类中提供了三个与取整有关的方法:ceil.floor.round,这些方法的作用与它们的英文名称的含义相对应 1.ceil的英文意义是天花板,该方法就表示向上取整,所以,Math.ceil(11.3)的结果为12,Math.ceil(-11.3)的结果是-11 2.floor的英文意义是地板,该方法就表示向下取整,所以,Math.floor(11.6)的结果为11,Math.floor(-11.6)的结果是-12 3.round方法,它表示“四舍五入”,算法为Math.floor(x+0

java的四种取整方法

java 中取整操作提供了四种方法:分别是: public static double ceil(double a)//向上取整  public static double floor(double a)//向下取整  public static long round(double a)//四舍五入取整  public static double rint(double a)//最近取整   第一种:ceil是天花板的意思,表示向上取整.   测试: System.out.println(Mat

JavaScript四种数值取整方法

一.Math.trunc() 1.定义 Math.trunc()方法去除数字的小数部分,保留整数部分. 2.语法 Math.trunc(value) 3.示例 console.log(Math.trunc(2.01)); // 2 console.log(Math.trunc(2.9)); // 2 console.log(Math.trunc('0.22')); // 0 console.log(Math.trunc(-1.22)); // -1 console.log(Math.trunc(

Math类中的取整方法

Math类提供了3个有关取整的方法:ceil().floor().round(). 这些方法与他们的英文名字相对应: ceil,天花板,意思就是向上取整,Math.ceil(11.5)的结果为12,Math.ceil(-11.5)的结果为-11. floor,地板,意思就是向下取整,Math.floor(11.5)的结果为11,Math.floor(-11.5)的结果为-12. round,表示四舍五入,算法为:Math.floor(x+0.5), 即将原来的数字加上0.5后在向下取整,Math

Math取整方法归纳总结

舍掉小数取整:Math.floor(2)=2 舍掉小数取整:Math.floor(2.1)=2 舍掉小数取整:Math.floor(-2.1)=-3 舍掉小数取整:Math.floor(-2.5)=-3 舍掉小数取整:Math.floor(2.9)=2 舍掉小数取整:Math.floor(-2.9)=-3 总结:Math.floor(x) = 不大于x的最大整数 舍掉小数凑整:Math.ceil(2)=2 舍掉小数凑整:Math.ceil(2.1)=3 舍掉小数凑整:Math.ceil(2.5)

C#以及Oracle中的上取整、下取整方法

1.C#中: 上取整——Math.Ceiling(Double),即返回大于或等于指定双精度浮点数的最大整数(也可称为取天板值): eg:  Math.Ceiling(1.01)=2;      Math.Ceiling(1.37)=2; 下取整——Math.Floor(Double),即返回小于或等于指定双精度浮点数的最大整数(也可称为取地板值): eg:  Math.Floor(1.99) =1;       Math.Floor(1.87) =1; 2.Oracle中: 上取整——ceil

js中取整方法的比较

Math.ceil():向上取整 Math.floor():向下取整 Math.round():四舍五入 需要注意的比如:Math.ceil(-1.6) = -1.0; Math.round(-1.5) = -1; Math.round(-1.6) = -2;