簡體   English   中英

使用按位運算符計算數據類型的最大值和最小值

[英]Computing maximum and minimum value of data type using bitwise operators

我開始學習 Java 中的按位運算符,但是,我不太了解使用按位運算符計算數據類型(短、字節、長、浮點)的最大/最小值的問題。

我們如何開始呢? 因為我只發現有關查找偶數/奇數的問題,所以計算對之間的值。

任何建議都會真正有幫助,因為我花了很多時間來理解它,但到目前為止我還沒有得到任何幫助。 可悲的是,關於按位運算符操作的話題並不多。

要獲得最大值,請將所有位填充為 1。最小值是最大值的否定。

public class Main{
    public static void main(String[] args) {
        int value = 0;
        for(int i=0; i<31; i++) {
           value |= 1<<i;
        }
        System.out.println(value);
        System.out.println(Integer.MAX_VALUE);
        System.out.println(~value);
        System.out.println(Integer.MIN_VALUE);
    }
}

Output

2147483647
2147483647
-2147483648
-2147483648

https://www.vojtechruzicka.com/bit-manipulation-java-bitwise-bit-shift-operations/#:~:text=Java%20uses%20another%20approach%2C%20which%20is%20call%20two%27s ,由%20給定%20number%20of%20positions%20to%20the%20right

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM