二進位制 0. 1 滿2進1 以0b或0b開頭
乙個位元組 8 位
14符號位65
4321
00為+/1為-00
0111
0首位符號位 0表示正數 1* 23+1* 22+1* 21+0* 20 =8+4+2=14
正數三碼一樣 原始碼,反碼,補碼
將14的二進位制0000 1110最高位改為1–>得到1000 1110此為-14原始碼
首位符號位 1表示負數
-14 此為-14的原始碼(首位是符號位)10
0011
10-14反碼為–除符號位外,其餘各個位取反: 如下11
1100
01-14補碼為 : 反碼+1: 如下11
1100
10計算機底層,以補碼方式存資料,(就是我們正常學的進製形式,通常不明確指出,就預設是補碼)正負都是補碼
如-14,儲存為補碼1111 0010
byte型別1位元組8位 -128~~127 128超出byte範圍
int 4位元組32位 128表示為0000 0000 0000 0000 0000 0000 1000 0000
當int128強轉為byte,只取最後8位 int 128最後8位是1000 0000
轉為byte 1000 0000 第一位 1變為符號位10
0000
00而1000 0000是對應的是-128
1000 0001是-127 -127-1 = -128 1000 0001 -1 -->1000 0000
十進位制 0-9 滿10進1
轉2進製
13/2 = 6…1
6/2 = 3…0
3/2 = 1…1
1/2 = 0…1
0 / 2 = 0…0
倒著寫 1101
八進位制 0-7 滿8進1, 以數字0開頭
十六進製制 0-9和a-f,滿16進1 , 以0x或0x開頭表示,此處a-f不區分大小寫10-a 11-b…15-f
如 0x21af+1 = 0x21b0
互相之間的轉化,通過二進位制搭橋
八進位制–8 = 23 將二進位制數3個分一組計算00
0000
0000
0001
1101
001
0開頭-----------------------------------
011=3
101=5
001=1
結果0351
二進位制—>十六進製制
16 = 24 四個數分一組計算00
0000
0000
0000
0111
0100
1 0x開頭
—- ---- -
------
----- -
1110=e
1001=9
結果為0xe9
算術運算子:+, -,*,/, %,++, --(自增自減,++a —>先自增,在賦值 a++ ---->先賦值在自增)
賦值運算子=
關係運算子:>,<,>=,<=,==,!= instanceof
邏輯運算子:&&,||,!
位運算子:&, |,^,~, >>, <<, >>>(了解! ! ! )
條件運算子 ? :
擴充套件賦值運算子: +=, - =, *=, /=
a++ —>後加加 先計算,最後自增
++a —>前加加 先自增,再計算
–a同理
a =
2:b =
++a // a = 3 , b = 3
a =2
:b = a++
;// a = 3 , b = 2
a =2
:b =
--a;
//a = 1 , b = 1
a =2
:b = a--
://a = 1 , b = 2
// 注意,自增自減不會改變變數資料型別
short s=10;
s++:
//s++ = 10 ,結果為short型別 若為s1 = s+1,則為int
// %取模運算(取餘數) 取模結果為零,表示能除盡
int m =12:
int n =5:
int y = m % n:
//y=2-
12$5=-
2/12%
5=12/
-12%-
5=-2
12%5=
2//取模運算的結果,正負號跟被模數的符號一致
3² math.pow(3,2)
短路與 a && b
短路或 a || b
邏輯非 !
和(and)
或(or)
取反 真取假,假取真
只要有乙個是false,結果為false
只要有乙個是true,結果為true
a^b優點: a(若為false)決定結果,將跳出,不計算b ,減少運算
優點: a(若為true)決定結果,將跳出,不計算b,減少運算
亦或(a和b相反(一真一假)為真)
a0 0 1 1
1 1 0 0
b0 0 0 0
1 1 0 1
a & b
0 0 0 0
1 1 0 0
與a | b
0 0 1 1
1 1 0 1
或a ^ b
0 0 1 1
0 0 0 1
異或~b
1 1 1 1
0 0 1 0
取反左移 << —> *2
右移》 —> /2
+= a+=b --> 結果同 a=a+b
-= a-=b --> 結果同 a=a-b
short s1 =10;
s1 +=2;
//自身加,不會改變資料型別
x ? y : z --> x 成立,輸出 y ,否則 輸出 z
加號 + 運算過程中,遇到字串 , 字串之前的數字 仍為加法運算,從 字串 之後 的 加號 + 變為字串連線符,
優先用小括號 () 來組織 ,不易出錯.清晰明了
邏輯非 > 與 > 或 ! > & > |
a || b && c ==> a || (b && c)
java進製 運算子
二進位制 0,1,滿2進1.以0b或0b開頭。十進位制 0 9,滿10進1.八進位制 0 7,滿8進1.以數字0開頭表示。十六進製制 0 9 及a f,滿16進1.以0x或0x開頭表示。此處的a f不區分大小寫。十進位制 二進位制互轉 15 1 2 0 1 2 1 1 2 2 1 2 3 運算子 運...
運算子和進製轉化
int ret 12 15 先計算賦值號的右側 將右側的計算結果儲存在變數中 console.writeline ret int ret1 12 5 console.writeline ret1 ret2 3 9 console.writeline ret2 整數 整數 得到整數 如果不整除 那麼得...
運算子與進製轉換
字元型別 字元常量 a 乙個字元 字串常量 abcd 多個字元 字元變數 1 定義變數 有無符號 型別 變數 2 引用變數 引用變數內容 浮點型 1 浮點型常量 十進位制 3.14 科學表示3e14 2 浮點型變數 float double 有符號 型別 變數名 程式 演算法 資料 運算子 表示式 ...