问题描述
今天看Base64的代码,看到有这么一句:(buffer << >>> 26,其中buffer是int变量,那么在Java中>>>表示什么意思呢?希望有师兄解释一下啦!
解决方案
楼上正解! 移位运算符 包括: “>> 右移”;“<< 左移”;“>>> 无符号右移” 例子: -5>>3=-1 1111 1111 1111 1111 1111 1111 1111 1011 1111 1111 1111 1111 1111 1111 1111 1111 其结果与 Math.floor((double)-5/(2*2*2)) 完全相同。 -5<<3=-40 1111 1111 1111 1111 1111 1111 1111 1011 1111 1111 1111 1111 1111 1111 1101 1000 其结果与 -5*2*2*2 完全相同。
解决方案二:
>>>是带符号又移int 长32未,将其右移26位的目的是拿到26-31上的bit
时间: 2025-01-02 19:47:14