byte b = 130;有沒有問題?如果我想讓賦值正確,可以怎麼做?結果是多少呢?
class demo2
/*
分析過程:
我們要想知道結果是什麼,就應該知道是如何進行計算的。
而我們又知道計算機中資料的運算都是補碼進行的。
而要得到補碼,首先要計算出資料的二進位制。
a:獲取130這個資料的二進位制。
00000000 00000000 00000000 10000010
這是130的原碼,也是反碼,還是補碼。
b:做擷取操作,截成byte型別的了。
10000010
這個結果是補碼。
原文參考:
c:已知補碼求原碼。
符號位 數值位
補碼: 1 0000010
反碼: 1 0000001
原碼: 1 1111110
*/(資料型別)byte b1=3,b2=4,b; b=b1+b2; b=3+4; 哪句是編譯失敗的呢 ?
第二句:b=b1+b2;編譯出錯。錯誤提示為「不能從int型別轉換為byte型別」。
而第三句:b=3+4;沒有錯誤。byte型別轉換為int型別屬於自動資料型別轉換。
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...
Java8 基礎資料型別包裝類 Byte
final修飾不可更改,每次賦值都是新建類 其中 128 127是直接從bytecache中獲取的不是新建的,可以使用 比較是否相同,其他數值是通過new新建的,不能使用 比較相同,因為位址不同,需用equals比較 public final class byte extends number im...
java資料型別
整型 型別 儲存大小 取值範圍 int4位元組 2 147 483 648 2 147 483 647 21億 short 2位元組 32 768 32 767 long 8位元組 9 223 372 036 854 775 808 9 223 372 036 854 775 808 byte 1位...