美文网首页
算法_二进制左移和右移

算法_二进制左移和右移

作者: 萧修 | 来源:发表于2023-03-14 11:41 被阅读0次

左移运算:在计算机中存储的二进制数据,每位向左移动
int类型在计算机占4个字节,32位。
数值范围:-2147483648~2147483647
如十进制:

1

二进制:

00000000000000000000000000000001

左移1位:

00000000000000000000000000000010

负数在计算中取反+1存储

int b = -1;
10000.......00001
111111...111110 取反
1111111...11111 +1
1111111111111111111111111111111

swift语言获取int32最大

var a = Int32.max
print(a)

右移

int a = -256789;
11111111111111000001010011101011

a >> 1;//带符号右移 

11111111111111100000101001110101

a >>> 1;//不带符号右移 
01111111111111100000101001110101

计算机:负数存储 对取反+1,为了底层运算方便,提升性能。
最小值取反是本身

-2147483648 取反还是 自己

实例代码 打印数的32位

public class 左移运算 {
    static void print(int nums) {
        for (int i = 31; i >= 0; i--) {
            System.out.print( (nums & (1<<i)) == 0 ? "0" : "1");
        }
        System.out.println();
    }

    public static void main(String[] args) {
        int b = -256789;
         print(b);
    }
}

/**
定义Java类 Java输出命令 静态static main函数
与运算&、左移运算符<<、三目运算符== ? :
*/

相关文章

  • day7-函数

    1.函数的作用 左移、右移、发射子弹 ---左移-右移-左移-左移-右移-右移--- 没有函数的时候,问题在哪儿?...

  • 理解MeasureSpec

    1.左移和右移 java中的移位运算符有三种: 左移<<左移就是将左边的操作数在内存中的二进制数据左移指定的位数,...

  • (二)位运算

    1、位运算符 用来操作二进制位。 与 | 或 | 异或| 取反 | 左移| 右移 | 无符号右移----|--...

  • Day7-Python-函数-2018/7/24

    函数的作用 欲实现功能:左移、右移、发射子弹 欲实现功能左移-右移-左移-左移-右移-右移 没有函数的时候,问题在...

  • 将数组元素循环移动p位,交换次数仅为n次

    算法思路 循环左移p位 数组序列长度为n,左移p位。 算法步骤 代码如下: 循环左移p位 数组序列长度为n,右移p...

  • 2018-07-24函数的作用、定义和参数

    一 函数的作用 左移、右移、发射子弹 左移-右移-左移-左移-右移-右移""" 没有函数的时候,问题在哪儿?1.同...

  • Java基础知识--“位移”

    ** 文章摘要 **1、移位包括左移和右移。左移相当于乘法,右移相当于除法。2、右移包括带符号右移,无符号右移。 ...

  • >>1和<<1数学意义

    带符号右移和左移 >>1右移一位,二进制向右移动,空位补0。右移一位代表除以2的1次方,右移N位代表除以2的N次方...

  • >> 与 >>>

    >> 是逻辑右移 >>> 是算术右移 逻辑右移和左移, 空位都是补0, 右移,空的高位补0, 左移,空的低位补0。...

  • C语言左移和右移

    C语言中左移表示左移运算符,就是把最高位丢弃掉然后在最低位补0;而C语言中的右移就是右移运算法,与左移是相反的,它...

网友评论

      本文标题:算法_二进制左移和右移

      本文链接:https://www.haomeiwen.com/subject/lyahrdtx.html