本篇博文詳細視頻講解:
點擊立即觀看
進制概念
什么是進制
進制:就是進位制,是人們規定的一種進位方法
對于任何一種進制--X進制,就表示某一位置上的數運算時是逢X進一位
二進制就是逢二進一 0/1
八進制是逢八進一
十進制是逢十進一
十六進制是逢十六進一
十進制的由來
十進制的由來是因為人類有十個手指
二進制的由來
其實二進制來源于中國,18世紀德國數理哲學大師萊布尼茲從他的傳教士朋友鮑威特寄給他的拉丁文譯本《易經》中,讀到了八卦的組成結構,驚奇地發現0和1分別為表示數字原點的特殊數和基本數.萊布尼茲也是第一個認識到二進制記數法重要性的人,并系統地提出了二進制數的運演算法則,二進制對200多年后計算機的發展產生了深遠的影響,他于1716年發表了《論中國的哲學》一文,專門討論八卦與二進制,指出二進制與八卦有共同之處,
其進位制就是二進制,并認為這是世界上數學進制中最先進的,20世紀被稱作第三次科技革命的重要標志之一的計算機的發明與應用,其運算模式正是二進制
八進制的由來
任何資料在計算機中都是以二進制的形式存在的,
二進制早期由電信號開關演變而來,一個整數在記憶體中一樣也是二進制的
但是使用一大串的1或者0組成的數值進行使用很麻煩
所以就想把一大串縮短點,將二進制中的三位用一位表示
這三位可以取到的最大值就是7.超過7就進位了,這就是八進制,
十六進制的由來
對于過長的二進制變成八進制還是較長,所以出現的用4個二進制位表示一位的情況
四個二進制位最大是15,這就是十六進制
0...9 A B C D E F
進制的表現形式
二進制: 由0,1組成,以0b(b可以大寫也可以小寫)開頭,0b010101
八進制: 由0,1,…7組成,以數字“0”開頭
十進制: 由0,1,…9組成,整數默認是十進制的
十六進制: 由0,1,…9,a,b,c,d,e,f(大小寫均可),以0x開頭
進制之間轉換
十進制轉二進制:
十進制數字6轉成二進制:
第1行先列出一個式子,內容為2的1次方,2的2次方 依次下去
把數字6進行拆分 4 + 2 與第1行當中對比,用到的數字標記成1,沒有用到數字標記成為0, 然后從右向左取值得到結果:00000000110,前面的0可以省略,得到結果為:110,所有6的二進制為110
十進制數字13轉成二進制:
轉換的方式與上面的方式一樣, 把13拆分為: 8 + 4 + 1,沒有用到數字標記成為0, 然后從右向左取值得到結果: 0000001101,前面的0可以省略,得到結果為:1101
當然除了以上方式進行轉換外還有除以基數倒取余的寫法
上圖中29轉成二進制為11101
二進制轉十進制:
傳統十進制的方式:
二進制轉十進制:
當然也可以使用最上面的表,反著操作!
二進制轉八進制,三位劃成一組. 二進制轉十六進制,四們劃成一組.
八進制與16進制先轉二進制, 再進行其它進制之間的轉換
位
位:"位(bit)"是電子計算機中最小的資料單位,每一位的狀態只能是0或1,
位元組:
位元組:8個二進制位構成1個"位元組(Byte)",它是存盤空間的基本計量單位
KB:
在一般的計量單位中,通常K表示1000,但是在計算機當中的K表示1024,也就是2的10次 方,1KB表示1K個Byte,也就是1024個位元組.
1MB=1024KB
1GB = 1024MB
1T = 1024G
原碼/反碼/補碼
人腦可以知道第一位是符號位,可以根據符號位對真值得絕對值進行加減乘除
但是對于計算機來說,加減乘除是最基本的運算,要設計得盡量簡單
計算機辨別符號位會讓計算機的設計電路變得很復雜
于是人們想出了讓符號位也參與到運算上來,減去一個數,等于加上他的負數
0就代表正數,1代表負數 第1位為符號位
正數
假設機器字長(處理的位數為8位)
數字:1 原碼,反碼,補碼
原碼:00000001
反碼:00000001
補碼:00000001
負數:
數字:-1 原碼,反碼,補碼
原碼:符號位為1其余各位不變 10000001
反碼:符號位不變,其余各位取反 1 1 1 1 1 1 1 0
補碼:符號位不變,其位各位取反后加11 1 1 1 1 1 1 1
對補碼取返加1 得到原碼
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/280929.html
標籤:Java
