byte資料型別的賦值問題(四)

2022-08-02 22:27:12 字數 505 閱讀 5424

byte b=130;有沒有問題,如果我想要賦值正確,可以怎麼做,結果是多少?

因為byte的範圍是:-128-127之間,而130不在此範圍內,所以報錯

想要不報錯可以使用強制型別轉換 byte b=(byte)130;//-126

分析過程

我們要想知道結果是什麼,就應該知道是如何進行計算的。而我們又知道計算機中資料的運算都是補碼進行的。而要得到補碼,首先要計算出資料的二進位制。

a:獲取130這個資料的二進位制。

00000000 00000000 00000000 10000010

這是130的原碼,也是反碼,還是補碼。

b:做擷取操作,截成byte型別的了。

10000010

這個結果是補碼。

c:已知補碼求原碼。

符號位 數值位

補碼: 1 0000010

反碼: 1 0000001

原碼: 1 1111110

byte資料型別

三元運算 a,b,c 1,2,3 d a if a b else c 如果a大於b,則d等於a,否則c等於b 16進製表示法 字尾 bh 字首 0x 二進位製換16制 一分為四,每個4位表示乙個16進製制。bytes型別 二進位制 字串與位元組資料型別在py3已經清晰區分了 decode解碼 enc...

java 資料型別 byte

byte b 130 有沒有問題?如果我想讓賦值正確,可以怎麼做?結果是多少呢?class demo2 分析過程 我們要想知道結果是什麼,就應該知道是如何進行計算的。而我們又知道計算機中資料的運算都是補碼進行的。而要得到補碼,首先要計算出資料的二進位制。a 獲取130這個資料的二進位制。000000...

BYTE和Mat資料型別的轉換

mat資料型別是opencv獨有影象資料型別,暗示一般通過攝像頭獲取的圖形資料都是byte資料型別,如果我們需要用opencv對該影象進行處理,那麼我們就必須要學會這兩種資料型別之間的轉換。1.byte資料型別轉換為mat資料型別 其實opencv自帶還是進行這種轉換 mat image mat h...