JAVA位移运算「建议收藏」

JAVA位移运算「建议收藏」1、java将负整数转成二进制这里以8位为例,只是为了表明过程,实际中java的int类型是4byte,也就是32位。二进制的首位是符号位,0表示正数,1表示负数,在java中,会对负数进行取反加一操作,进而计算出实际的十进制值。如10101010,此8位的二进制数首位是1,表示负数,所以对后面的七位进行取反加一操作,即0101010–>1010110,换成十进制的数就是86,再加上首位的1表示负数,结果就是-86。2、位移运算1)正数的右移:如10>>2,左边自动补0,右边移出

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1、java将负整数转成二进制

这里以8位为例,只是为了表明过程,实际中java的int类型是4byte,也就是32位。二进制的首位是符号位,0表示正数,1表示负数,在java中,会对负数进行取反加一操作,进而计算出实际的十进制值。如10101010,此8位的二进制数首位是1,表示负数,所以对后面的七位进行取反加一操作,即0101010–>1010110,换成十进制的数就是86,再加上首位的1表示负数,结果就是-86。

2、位移运算

1)正数的右移:如10 >> 2,左边自动补0,右边移出位舍弃,即00001010 –> 00000010,结果是2,实际的意思是,每向右移动一位,就相当于除以2,小数舍弃,即10/2/2=2.5,舍弃小数,结果就是2。

2)正数的左移:如10 << 2,右边自动补0,左边移出位舍弃,即00001010 –> 00101000,结果是40,实际的意思是,每向左移动一位,就相当于乘以2,即1022=40。

3)负数的右移:如-2 >> 2,由于二进制的首位为符号位,负数在右移过程中,为了保持负数的特性,所以左边会自动补1而不是0,即11111110–> 11111111,结果为-1。

4)负数的左移:负数的左移与正数的左移一致,在右边自动补0。

5)无符号的右移:如-2 >>> 2,对于负数的右移在左边自动补1,但是对于无符号的右移,左边是自动补0,即11111110 – > 00111111,结果为63。所谓的无符号右移,就是不考虑正数还是负数,左边一律补0。

3、想一想为什么没有无符号左移?个人理解,因为不管正数还是负数,左移都是在右边补0。

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

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

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


相关推荐

  • ES6 函数的扩展

    ES6 函数的扩展

    2022年4月3日
    40
  • java工程师_Java工程师是青春饭吗?[通俗易懂]

    java工程师_Java工程师是青春饭吗?[通俗易懂]近两年,经常有一些互联网公司裁员的报道,大部分被裁员的都是中老年的开发人员,这就使得很多还没入行的人很疑惑,难道Java工程师是门青春饭吗?那我现在还要学Java吗?今天小编来给大家分析下Java工程师是不是吃青春饭的,现在还要不要学Java?首先来说说,为什么会有些开发人员会被裁掉呢?因为Java行业是竞争力比较大的行业,由于现在社会上的各种对Java行业的宣传,现在越来也多的年轻人学习Java…

    2022年7月8日
    22
  • Android语音采集两种方式MediaRecorder和AudioRecord

    Android语音采集两种方式MediaRecorder和AudioRecord

    2021年8月31日
    76
  • ntp 校时 linux 带源码

    ntp 校时 linux 带源码最近做个项目,想通过公司上的NTP服务器给板子校时,但是板子里没有ntpdate这个命令,下面是2个解决方法,1,找到ntpdate源代码,重新编译之后,手动运行,这个方法我上网上查了,比较复杂,据说NTP还与SSL有关,编译的时候必须把SSL也包含进去,于是就迟迟没有动工。2,突然有一天看到rtthread里也提供一个ntp的客户端,比较简单,就一个文件,也没几行,于是想着把这个.c文件移植到linux下,但我仔细研究了一下,发现这个文件的原始作者就是在linux下设计的。原始文件更简单.

    2022年6月18日
    24
  • Ifconfig_5k是多少啊

    Ifconfig_5k是多少啊文章目录Linux_day06-07Linux的网络相关一.设置主机名二.chkconfig服务配置三.ntp服务四.防火墙服务——软件防火墙五.网络相关的一些命令1. **ifconfig**2. **netstat**3. **ping**4. **telnet**——用于测试端口连通性5. **curl**——资源定位Linux_day06-07Linux的网络相关一.设置主机名临时设置:#hostname 新主机名(切换用户生效,重启还原)永久设置:修改配置文件/etc/hostname

    2022年8月9日
    6
  • java输入语句_java输入语句是什么

    java输入语句_java输入语句是什么Java的语句有很多,其中输入语句是最基本的操作之一。下面我将带大家一起了解一下要如何进行输入代码的编写。首先当你进行输入操作前要将下面两个包给加入Java程序的包行列中。先将java.io.*;以及java.util.*;导入Java代码中。importjava.util.*;importjava.io.*;charc=(char)System.in.read();是输入单个字符;int…

    2022年7月7日
    23

发表回复

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

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