的Wikipedia article for Fletcher's checksum狀態:補碼對Fletcher的校驗和有沒有影響?
這些示例假設補運算,爲弗萊徹的算法將是一個補機不正確。
This SO question從一本書,上面寫着提供掃描:執行
加法模255(1的補數算術)
弗萊徹的校驗和使用的運行總和,所以不看到對負數的需求,其目的是識別差異,所以只要在檢查系統上使用相同的數字系統(補碼,二進制補碼,兩者都沒有),那麼這很重要嗎?維基百科頁面上給出的例子也指定了無符號整數類型。
我已經用C標記了這個,因爲在維基百科頁面上給出的例子都在C中,所以也許這在這方面有一些影響。我不是一個數學家,也不是一個勉強勝任的程序員,所以很可能存在一些非常明顯的原因,爲什麼補充會產生影響。
收到任何洞察的感激。
我可以直接添加嗎?它需要我3種不同的瀏覽器,關閉每個插件,擴展,防火牆,等待一段時間,使用隱私瀏覽,等待一些...大約50次嘗試*只是*過去那該死的惱人的驗證碼。顯然它不會打擾我10000代表後,所以*請*,通過投票按鈕給我一些愛! (o_O) – iain
它只是在現代二進制補碼硬件或無符號計算的意義上,你被迫手動計算從254到0(模255)的包裝。補碼系統上的帶符號字節將自由換行,避免了-0或+0,無需人工干預。 – doynax
哦,並且想象你正在計算一個簡單的算術8位校驗和。如果以二進制補碼(模256)直接完成,那麼任何單個比特錯誤只會影響高於它們的較高有效比特,而在一個補碼和(模255)中雪崩到較低比特,因爲模數與該比特的質數位置。也就是說,否則,第7位中的兩個錯誤會相互抵消,而需要用256位錯誤才能取消第0位中的錯誤。 – doynax