1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00

Update java-basic-questions-01.md

讲解位移运算时,举的例子有问题
This commit is contained in:
Horstson 2023-02-01 17:28:33 +08:00 committed by GitHub
parent c40444e5a2
commit b9a3f99312
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -263,7 +263,7 @@ Java 中有三种移位运算符:
当 int 类型左移/右移位数大于等于 32 位操作时,会先求余(%)后再进行左移/右移操作。也就是说左移/右移 32 位相当于不进行移位操作32%32=0左移/右移 42 位相当于左移/右移 10 位42%32=10。当 long 类型进行左移/右移操作时,由于 long 对应的二进制是 64 位,因此求余操作的基数也变成了 64。 当 int 类型左移/右移位数大于等于 32 位操作时,会先求余(%)后再进行左移/右移操作。也就是说左移/右移 32 位相当于不进行移位操作32%32=0左移/右移 42 位相当于左移/右移 10 位42%32=10。当 long 类型进行左移/右移操作时,由于 long 对应的二进制是 64 位,因此求余操作的基数也变成了 64。
也就是说:`x<<42`等同于`x<<10``x>>42`等同于`x>>10```x >>>42`等同于`i4 >>> 10`。 也就是说:`x<<42`等同于`x<<10``x>>42`等同于`x>>10``x >>>42`等同于`x >>> 10`。
**左移运算符代码示例** **左移运算符代码示例**