一進制

一進位系統是一個雙射 ， 以1爲底數的記數系統 。 這是一個代表自然數最簡單的記數系統 ： 要表示一個自然數N ， 我們任意的先選用一個符號代表 “ 一 ” ， 然後將之重複N次 。 舉例來說 ， 使用 | （ 一個計數符號 ） 作爲符號 ， 數字六則以 | | | | | | 表示 。 若符號選用1 ， 則數字1 、 2 、 3 、 4 、 5 、 6在一進制中表示爲 、 、 、 、 、 … 。 用手指計算的方法也是一種一進位系統 。 一進位系統對進行中結果的計數或者計算很有用 ， 像是 體育比賽內的分數 ， 因爲一進位系統沒有中介的結果需要被刪去或者捨棄 。 爲了易讀性 ， 一進位的符號常常以五個爲一組湊在一起 。 這有點類似十進位系統裏面 ， 實際使用上常常會以空白或者逗號分隔數字 ， 讓 100,000,000 這種大數字比較易讀 。 第一或者第五個符號可能會彎一個角度作爲區別 。 其他一進位系統以五湊成一堆的例子則是漢字文化圈傳統使用的正字標記 ， 這個字有五個筆劃 ， 有東西新增時就多寫一筆 。 左邊圖上面的第四個範例 ， 第五個筆劃將前面四個湊成五個一組 ， 因爲這組符號的形狀 ， 有時這種方法被稱爲 “ herringbone ” 記數法 。 在巴西以及法國 ， 另一類系統經常被使用 ： 作爲像是鯡魚骨這樣將這些 “ 棍棒 ” 排成一排的替代 ， 這個系統是將四個符號排成一個方塊 ， 第五個符號則劃過這個方塊的對角 。 加法和減法在一進位系統使用特別容易 ， 因爲僅僅牽涉比字串的串接稍多的操作 。 然而 ， 乘法和除法則複雜許多 。 與其他系統不同 ， 在一進位系統裏面並沒有代表0的符號存在 ， 因此一進位是隻有一個符號的雙射系統 。 如果有代表 「 零 」 的符號 ， 那這個系統就會變成二進位 。 實際上存在的一進位系統沒有辦法明確表示零 ， 雖然甚麼都不寫常常被用來隱含這個含意 。 即使在比較先進的計數系統 ， 像是羅馬數字裏面 ， 也不存在代表零的符號 ， 相對的這系統使用nullae ， 也就是拉丁文的 “ 甚麼都沒有 ” （ nothing ） 。 與標準的進位制相比 ， 一進位系統在大型計算很不方便 ， 因此不在實際上使用 。 不過有時因此會讓這系統出現在計算理論裏面的一些決定性問題 （ 像是一些P - 完全問題 ） 作爲輸入 ， 作爲 “ 人工的 ” 縮減問題的計算時間或者空間 。 舉例 ， 整數分解這個問題 ， 如果輸入是以二進位給予 ， 那一般認爲的運作時間會超過輸入長度的多項式時間 ； 但是 ， 如果輸入是以一進位給予 ， 則變成只需要線性的時間 。 不過這作法其實有些誤導 ： 使用一進位作爲輸入本來就會導致輸入這動作變慢 。 使用一進位與其他二進位 （ 或者以上 ） 的輸入模式 ， 差異會根據輸入本身等比例差異到對數 （ 以二爲底或者以上 ） 倍 ； 所以運作時間與空間看起來相對於輸入長度比較好時 ， 並非是因爲我們的演算法變好 ， 而是因爲我們故意使用比較長的輸入方式 。