回覆列表
  • 1 # 長春雅詩軒

    我來回答這個問題。這個問題提出的很有趣,首先這個問題涉及到遠古20000年至今還被廣泛應用;其次這個問題橫亙哲學、數學、現代計算機技術、通訊技術等諸多學科,涉獵廣泛,作為一個科普題目來說,非常有意義。

    “模2運算”在我們上大學裡應用數學裡進位制轉換裡涉及到,學習計算機及相關專業的基礎學科裡也學習到。

    一、什麼是模?什麼是“模2運算”

    那麼什麼是“模”呢?“模”是英語“modulo”的音譯,也簡稱為“mod”,作為名詞是“模;模數;係數;模量”的意思;作為介詞是“對…取模”的意思;而作為動詞是“按模計算”的意思。是不是一頭霧水了?那麼說中國話,模就是對一個整數求餘數的運算,也稱為“取模運算”或者“取餘運算”,這兩種運算不太一樣,當被“模”的整數為正數時,兩種運算是一樣的,當“模”的整數為負數時,兩種運算就不一樣了,這裡就不展開討論了。為了好理解,我們可以理解為“模”就是對一個整數求餘數的那個被除數。當這個被除數為“2”時,我們就稱為“模2運算”。比如:5 MOD 2 餘 1,這裡2就是模數。

    二、“模2運算”原理是什麼?

    其實“模 2運算”原理很簡單 ,就是數學中二進位制的四則運算,包含“加”、“減”、“乘”“除”,其規則和我們十進位制里加減乘除四則運算規則是一樣的,而不一樣的是不考慮借位或進位的問題(有進位時,保留計算本位數 ,而不向前一位進位;減法時不夠減,相當於從前一位借1當2,而前一位並不減少)這樣,“模2運算”後,結果具有隻針對本位有效,而對上一位、下一位不產生影響的特點。

    模2加法:

    0+0 =0,1+0 = 0+1 =1,1+1=0

    模 2加法是 以最後位對齊豎列相加,根據模2運演算法則,可以簡單總結為:奇數個1相加得1,偶數個1相加得0

    模2減法:

    0-0 = 0,1-1 = 0,1-0=1,0-1=1

    第四式代表了模2減法的特徵,從它也可得出+1=-1的結論

    模2乘法:

    一位數的模2乘法定義如下:0×0=0,0×1=0,1×0=0,1×1=1

    多位數的模2乘法與普通乘法一樣演算,唯一的區別是,部分積相加時按模2加,即奇數個1相加得1,偶數個1相加得0。

    模2除法:

    模2除法是模2乘法的逆運算。模2除法具有下列三個性質:

    1、當最後餘數的位數小於除數位數時,除法停止。

    2、當被除數的位數小於除數位數時,則商數為0,被除數就是餘數。

    3、只要被除數或部分餘數的位數與除數一樣多,且最高位為1,不管其他位是什麼數,皆可商1。

    三、“模 2運算”是為什麼發明的?

    “模2運算”是為了機器運算而發明的。

    這是德國天才大師萊布尼茨(Gottfried Wilhelm Leibniz,1646 - 1716)受中國《周易》影響和啟發,為了解決機器運算的方法,發明了完整的二進位制運演算法則。萊布尼茨在1679年3月15日記錄下他的二進位制體系的同時,還設計了一臺可以完成機械計算的機器。這也為200多年以後電子計算機的發明奠定了基礎。

    四、現在“模2運算”主要應用

    “模2運算”應用十分廣泛,主要應用於資料儲存及資料傳輸、資料通訊時對資料正確性的校驗方面。著名的通訊協議X.25的FCS(幀檢錯序列)採用的是CRC-CCITT,WinRAR、NERO、ARJ、LHA等壓縮工具軟體採用的是CRC32,磁碟驅動器的讀寫採用了CRC16,通用的影象儲存格式GIF、TIFF等也都用CRC作為檢錯手段。

    由於我們現代的通訊技術都是採用數字技術,在傳輸中,存在著模-數、數-模多次轉換 。在數字傳輸中,都是將各種資訊轉換為二進位制進行傳輸的。傳輸有可能是有線傳輸,也可能是無線傳輸。受傳輸手段或者傳輸距離等影響,不可避免產生干擾,對傳輸質量肯定要帶來影響。於是,人們就發明了一個在傳輸資料的同時,加上一個“校驗資料”。現在數字通訊採用的是CRC(Cyclic Redundancy Check)校驗方法也叫迴圈冗餘校驗方法。

    其特點是:檢錯能力強,開銷小,易於用編碼器及檢測電路實現。從其檢錯能力來看,它所不能發現的錯誤的機率僅為0.0047%以下。從效能上和開銷上考慮,均遠遠優於奇偶校驗及算術和校驗等方式。

    由於篇幅有限,我就不一一展開說明,以後我會以文章形式進行科普。

  • 2 # 傳輸網路工程師

    移位暫存器的每一級只可能有兩種不同的存數(或狀態),分別用0和1來表示。這裡, 0和1不再具有一般數量的含義,而只具有邏輯含義。對於這樣一種只包含0和1兩個元素(符號)的集合(叫做二元集)來說,普通的四則運算不再適用,因而必須重新規定一種新的運算規則。所謂模2運算就是這樣一種新的運算規則。[1]

    模2運算是一種二進位制演算法,CRC校驗技術中的核心部分。與四則運算相同,模2運算也包括模2加、模2減、模2乘、模2除四種二進位制運算。而且,模2運算也使用與四則運算相同的運算子,即“+”表示模2加,“-”表示模2減,“×”或“·”表示模2乘,“÷”或“/”表示模2除。與四則運算不同的是模2運算不考慮進位和借位,即模2加法是不帶進位的二進位制加法運算,模2減法是不帶借位的二進位制減法運算。這樣,兩個二進位制位相運算時,這兩個位的值就能確定運算結果,不受前一次運算的影響,也不對下一次造成影響

  • 中秋節和大豐收的關聯?
  • 勇士明天能贏下整個系列賽嗎?