運算子 進製

2021-10-04 20:29:39 字數 3189 閱讀 4089

二進位制 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 有符號 型別 變數名 程式 演算法 資料 運算子 表示式 ...