左移右移问题和Math函数

编程入门 行业动态 更新时间:2024-10-27 06:34:32

一、左移和右移

<< 左移运算符   :就是该数对应二进制码整体左移,左边超出的部分舍弃,右边补零。举个例子:253的二进制码1111 1101,在经过运算253<<2后得到11 1111 0100。

>> 右移运算符 :该数对应的二进制码整体右移,左边的用原有标志位补充,右边超出的部分舍弃。

>>>  无符号右移 : 不管正负标志位为0还是1,将该数的二进制码整体右移,左边部分总是以0填充,右边部分舍弃。

number << 1  =  number*2;           number >> 1 = number/2

在移位操作前,编译器会先把数转换成int类型,由于int类型只占用32位,所以:number >> 32 = number

 

二、Math类中的round、ceil和floor方法

1、Math.round() :四舍五入(原理是原数据先+0.5再向下取整,返回值为int)   

例:Math.round(11.4) = 11 ;Math.round(11.5) = 12  ; Math.round(-11.5) = 11 ; Math.round(-11.6) = -12

2、Math.ceil():向上取整 (返回值为double)

例:Math.ceil(11.4) = 12.0 ; Math.ceil(11.5) = 12 ; Math.ceil(-11.5) = -11 ;Math.ceil(-11.6) = -11

3、Math.floor():向下取整(返回值为double)

例:Math.floor(11.4) = 11.0 ; Math.floor(11.5) = 11 ; Math.floor(-11.5) = -12 ;Math.ceil(-11.6) = -12

更多推荐

函数,左移右移,Math

本文发布于:2023-05-29 21:35:07,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/353344.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:函数   左移右移   Math

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!