計算機的數制與編碼
來說一下進製計數制:
十進位制(dec):逢十進一(加法規則) 借一當十用(減法規則)
二進位制(bin):逢二進一 借一當二用
八進位制(oct):逢八進一 借一當八用
十六進製制(hex):逢十六進一 借一當十六用
上面就一系列進製轉換的運算規則
每乙個進製都有乙個基數
十進位制:0-9 基數是
10二進位制:0和
1 基數是
2十六進製制:0-9 a b c d e f 基數是
16八進位制:0-7 基數是
8在數字後面加上b表示二進位制資料 加上字母
o表示八進位制資料,加上字母
d表示十進位制資料,後面加上字母
h表示十六進製制資料,前面加上數字
0x也表示十六進製制資料。
或者簡單直接表示乙個資料是幾進製資料,直接把這個數字用括號括起來,然後寫上數字16 2 8 10來表明是幾進製數。
上面說了,數的進製都怎麼表示,下面就來說一下,進製之間如何轉換的乙個問題。
(1) 十進位制轉其他進製數
a) 十進位制整數轉其他進製數
除基數取餘法,轉二進位制最後補1,由下往上排列
b) 十進位制小數轉換成非十進位制小數
乘基數取整法,由上向下排列
小數部分是0還是
0(2) 非十進位制數轉換成十進位制數
將各位非十進位制數按係數加權求和展開
以基數r為底對應位次冪
如果有小數點,就從-1開始處理
5b.8h=5*16^1+11*16^0+8*16^-1=80+11+0.5=91.5
(3) 下面來說一下八進位制,十六進製制與二進位制之間的轉換
三個二進位制數對應乙個八進位制數
四個二進位制數對應乙個十六進製制數
如果遇到小數點,從小數點開始,乙個從左往右對應,乙個從右往左對應,不足位補0
關於預編譯的文章
預編譯標頭檔案 今天在改乙個很大的程式,慢慢看,慢慢改。突然發現乙個.c檔案,裡面什麼也沒有,就幾個標頭檔案,我一看,我靠,這不是把簡單的問題搞複雜了嗎,隨手刪掉那個c檔案。結果不能編譯了,我靠 fatal error c1083 cannot open precompiled header fil...
關於機器學習的文章
看一篇關於 機器學習的文章,擷取了其中一些有啟發的話 1.統計 思想將在你學習 機器學習 相關理念時無時無刻不伴隨,相關而不是因果的概念將是支撐機器學習能夠工作的核心概念。2.線性回歸就是我們前面說過的房價求解問題。如何擬合出一條直線最佳匹配我所有的資料?一般使用 最小二乘法 來求解。最小二乘法將最...
Jdon關於雲的文章
著名的雲計算開源專案是hadoop map reduce 及相關生態系統如hive等。相關雲儲存nosql資料庫。雲計算通俗概念意義很廣,已經不只是計算,還有雲儲存,統稱 雲 google和amazon提供雲計算服務,是一種面向普通商戶收費的b2b雲,這是為了解決軟體的可伸縮性scalable 商戶...