老王讲二进制 & 0xFF;「建议收藏」

老王讲二进制 & 0xFF;「建议收藏」$a=2;$b=($a<<6)&0xFF;var_dump($b);die;代码如上 最后结果是128。   $a  二进制左移6位 相当于$a*2^6(2的6次方)。现在告诉你后边的  &0xFF是什么鬼东西。这个东西的有无并不会影响计算结果,但严格意义上说应该有。因为前边的位移运算是二进制算法,计算结果是一个二进制数据,byte类型的

大家好,又见面了,我是你们的朋友全栈君。

$a = 2;
$b = ($a<<6) & 0xFF;
var_dump($b);die;

代码如上  最后结果是 128 。     

$a   二进制 左移6 位  相当于 $a * 2^6 (2的6次方)。

现在告诉你后边的  &0xFF 是什么鬼东西。这个东西的有无并不会影响计算结果,但严格意义上说应该有。

因为前边的位移运算是二进制算法,计算结果是一个二进制数据,byte类型的数字要&0xff再赋值给int类型,其本质原因就是想保持二进制补码的一致性。

当byte要转化为int的时候,高的24位必然会补1,这样,其二进制补码其实已经不一致了,&0xff可以将高的24位置为0,低8位保持原样。这样做的目的就是为了保证二进制数据的一致性。

计算机存储数据机制:正数存储的二进制原码,负数存储的是二进制的补码。  补码是负数的绝对值反码加1。

比如-12,-12 的绝对值原码是:0000 1100  取反: 1111 0011  加1:  1111 0100

byte –> int   就是由8位变 32 位 高24位全部补1: 1111 1111 1111 1111 1111 1111 1111 0100 ;

0xFF 是计算机十六进制的表示 0xFF的二进制表示就是:1111 1111。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150782.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DeviceIoControl_deviceregist

    DeviceIoControl_deviceregistDeviceIoControl这个api我们用的不多,但是很重要,有时会帮助我们实现一些特别的需求,如获取硬件设备信息、与硬件设备通信(读写数据)等,对照msdn,下面我们详细解释一下这个api的用法(有什么错误再所难免,各位不吝指教啊)。DeviceIoControl是用来控

    2025年9月26日
    3
  • 删除数组中指定位置的元素_js数组remove指定元素

    删除数组中指定位置的元素_js数组remove指定元素转载:http://www.php.cn/js-tutorial-412053.html

    2022年8月11日
    9
  • oracle如何防止锁表,Oracle-怎么防止oracle锁表[通俗易懂]

    oracle如何防止锁表,Oracle-怎么防止oracle锁表[通俗易懂]只有插入有主键约束的列,或者有唯一约束的列时才可能会阻塞。示例:createtablet(xintprimarykey);session1:insertintotvalues(1);session2:insertintotvalues(1);这时session2就会发生阻塞。解决这种情况最好的方法就是在列上绑定一个序列,如果没有这么做,你也可以创建一个before触发器…

    2022年6月22日
    53
  • 局域网与广域网详解区别_广域网有哪些

    局域网与广域网详解区别_广域网有哪些1.局域网  局域网,英文名字LocalAreaNetwork,缩写为LAN。是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。生活中我们的每一个学校、公司都是一个局域网局域网可以理解为我们自己使用路由器、交换机组成的内部网络这个网络实现的是内部机器的通信,比如咱们访问学校的…

    2022年10月19日
    2
  • 基于JavaSpringMvc+mybatis实现学生信息管理系统「建议收藏」

    基于JavaSpringMvc+mybatis实现学生信息管理系统「建议收藏」Java经典基础毕设项目–学生信息管理系统详细设计【附源码】主要模块设计如下:使用Shiro权限管理框架,实现登录验证和登录信息的储存,根据不同的登录账户,分发权限角色,对不同页面url进行角色设置。管理员可对教师信息、学生信息、课程信息进行增删改查操作,管理员账户,可以重置非管理员账户的密码。

    2022年10月17日
    2
  • 概率论中的PDF,PMF,CDF是什么?

    概率论中的PDF,PMF,CDF是什么?http://blog.csdn.net/wzgbm/article/details/51680540

    2022年5月23日
    64

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号