Java 中的 Math.round(-1.5) 等于多少?
等于 -1,因为在数轴上取值时,中间值(0.5)向右取整,所以正 0.5 是往上取整,负 0.5 是直接舍弃。
23、两个二进制数的异或结果是什么?
两个二进制数异或结果是这两个二进制数差的绝对值。表达式如下:a^b = |a-b|。
两个二进制 a 与 b 异或,即 a 和 b 两个数按位进行运算。如果对应的位相同,则为 0(相当于对应的算术相减),如果不同即为 1(相当于对应的算术相加)。由于二进制每个位只有两种状态,要么是 0,要么是 1,则按位异或操作可表达为按位相减取值相对值,再按位累加。
评论(2)
Math.round()表示“四舍五入”,返回类型为int,算法实现为Math.floor(x+0.5);
Math.floor()表示向下取整,返回类型为double;
Math.ceil()表示向上取整,返回类型为double。
round 表示”四舍五入”,算法为Math.floor(x+0.5) ,即将原来的数字加上 0.5 后再向下取整,所以 Math.round(1.5) 的结果为 2,Math.round(-1.5) 的结果为 -1。