java基礎|java中的二進制運算以使用場景

二進制的使用場景

做標識用

二進制就是隻有0和1這兩個數.這和我們現實很多場景都類似, 如男/女,是/否,是否已讀等.那麼對一個主體的描述, 我們可以有一個二進制串來標識一系列的flag.

(小刀已改名為湊心啦,至於原因嘛, 因為現在在做一個小程序, 估計不久後會和大家見面)

如有一個心,同時還有一個描述的二進制串 1101. 第一個1代表男,第二個1代表矮.第三個0 代表醜, 第三個1代表笨. 這樣我們只用4位就完成了這些信息的存儲. 4位轉換成十進制, 最大也就是15. 用一個byte就可以存這麼多信息.

大體上有三種方式:1,從String 讀取. 2.從十進制數轉. 3.直接聲明,代碼如下所示:

java基礎|java中的二進制運算以使用場景

拼接二進制數據

這裡要用到位運算符.如1001. 分別代表四個不同的屬性的狀態. 我們肯定是一個一個屬性得到的得到性別,要放到從右往左第四個位置上. 得到矮放到從右往左第三位. 依次往下. 代碼如下:

java基礎|java中的二進制運算以使用場景

拆分二進制數據

這時候, 我們收到了"1101" 這個二進制串, 這時候我們需要拆成四個單獨的標識位,主要有兩種情況.1.拿到是一個字符串, 2. 拿到的是二進制串. 代碼如下:

java基礎|java中的二進制運算以使用場景


總結

在平時工作中, 我們很少直接使用二進制和位運算符,但和數字/標識相關的業務,如果能用上二進制,定能為代碼增色不少! 加油!

最後,我自己是一名從事了多年開發的JAVA老程序員,今年年初我整理了一份最適合初學者學習的java學習乾貨,可以送給每一位喜歡java的小夥伴,想要獲取的可以關注我的頭條號並在後臺私信我:交流,即可免費獲取。

java基礎|java中的二進制運算以使用場景


分享到:


相關文章: