
二進制和十進制
二進制和十進制介紹
二進制只包括0和1,十進制包括0~9
二進制和十進制的轉換
- 十進制轉二進制:使用除以二獲取余數
- 二進制轉十進制:使用8421編碼
例子
1 0 0 1 0 1 1 # 二進制
75 # 十進制
# ----------轉換方式----------
二進制轉十進制
每一個二進制位置上都是2的n次方,比如 第0位 是 2^0^,第1位 是 2^1^,第2位 是 2^2^,......,所以
1 0 0 1 0 1 1
2^6 2^5 2^4 2^3 2^2 2^1 2^0
64 32 16 8 4 2 1
1x64+0x32+0x16+1x8+0x4+1x2+1x1=75
十進制轉二進制

進制
介紹
明白了二進制和十進制之后,在理解別的進制就簡單了
我們知道,二進制是逢二進一,十進制是逢十進一,
那么八進制就是逢八進一,十六進制就是逢十六進一,.....
常用的進制也就是二進制,八進制,十進制,十六進制
八進制在最后面加O表示(因為英文為Octal),十六進制在后面加H或者下標16或者在前面使用0x表示
十六進制
要特別介紹一下十六進制
因為十六進制是在十的基礎上加入了字母A~F組成 , 分別代表0~15
各種進制相互轉換
各種進制轉換為十進制
各種進制轉換為十進制和二進制轉換為十進制差不多,比如8進制轉換為十進制,讓72O轉為十進制
7 2
8^1^ 8^0^
7x8+2x1 = 58
十進制轉其他進制
- 對于整數部分:除N取余,逆向排列
- 對于小數部分:乘N取整,正向排列
其實也和十進制轉換二進制差不多,都是使用除法和乘法,但是細節上有些不同,比如
74.45轉換為八進制
整數部分

小數部分

第一次的結果是3
第二次使用第一次剩下的小數計算,就是用0.6去計算,結果是4
那么十進制的結果就是
0.34xxxx,這里可以取兩位有效數字,那就是0.346-->0.35-->0.4
結果
112.40
位運算
介紹
位運算就是直接對二進制進行操作
規則
| 含義 | Java |
|---|---|
| 與 | a & b |
| 或 | a | b |
| 異或 | a ^ b |
| 取反 | ~a |
| 左移 | a << b |
| 帶符號右移 | a >> b |
| 無符號右移 | a >>> b |
與運算規則
相同位的兩個數字均為1則結果為1
0 0 1 0 1 # a
1 1 1 0 0 # b
---------------------
0 0 1 0 0 # 結果
或運算規則
相同位的兩個數有一個為1則結果為1
0 0 1 0 1 # a
1 1 1 0 0 # b
---------------------
1 1 1 0 1 # 結果
異或運算
相同為0,不同為1
0 0 1 0 1
1 1 1 0 0
---------------------
1 1 0 0 1
取反運算
0和1全部取反
0 0 1 0 1
---------------------
1 1 0 1 0
左移
丟棄最高位,低位用0補齊
左移一位相當于乘2,但一般認為左移比乘法快,因為這是直接針對底層的操作
1 1 0 0 1 0 0 # 左移2
---------------------------
0 0 1 0 0 0 0 0 0
比如這里,一開始的結果是100
左移之后變為了400
如果移到了符號位,那么數值正負將會改變
右移
丟棄最低位,符號位不變
右移一位相當于除以2,但是一般認為右移比乘法快,因為這是直接針對第層的操作
0 0 1 0 0 0 0 0 0 # 右移2
---------------------------
0 0 1 0 0 0 0
相應的符號位不會改變
負數則在當最高位的1移到右邊一位時,左邊最高位再次補1
整數則在當最高位的0移到右邊一位時,左邊最高位再次補0
無符號右移
a >>> b就是無符號右移,忽略符號位,空位以0補齊
0 0 1 0 0 0 0 0 0 # 右移2
---------------------------
0 0 1 0 0 0 0
乍一看和右移沒什么區別,但是區別是
不會保留符號位,用0補最高位
無符號右移對正數沒有意義
原碼 反碼 補碼
原碼
原碼就是原本的二進制
反碼
反碼就是原碼除了符號位取反
補碼
-
正數補碼與原碼相同
-
負數補碼為反碼加一
位元組
8個bit(二進制)為一個位元組
位元組是計算機最小的存盤單元
Windows下常用DOS命令
| 命令 | 運算子 |
|---|---|
| 盤符切換 | 盤符: |
| 查看當前檔案夾 | dir |
| 進入檔案夾 | cd 檔案夾 |
| 退出到上一級 | cd .. |
| 退出到磁盤根目錄 | cd \ |
| 清屏 | cls |
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/108903.html
標籤:Java
