ホームページ >类库下载 >java类库 >Javaの符号なし数値処理

Javaの符号なし数値処理

高洛峰
高洛峰オリジナル
2016-10-09 16:42:322612ブラウズ

Java には符号なしの数値がないため、多くの問題が発生する可能性があります。

static byte[] x = {(byte) 0xff,(byte) 0xff};
    
    public static void main(String[] args) throws IOException {
    
        byte a = x[0];
        
        int z = a&0xff;
        System.out.println(z);
        
    }

int z = a&0xff,

まず、aはbyte型ですが、これに対して&演算を行うと、まずint型に変換されます、つまり

1111 1111 1111 1111 1111 1111 1111 1111

&

0000 0000 0000 0000 0000 0000 1111 1111

=0000 0000 0000 0000 0000 0000 1111 1111

&0xの場合、結果は255です。 ff 演算は行わずに z に直接代入すると、得られる値は -1 になります。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。