移碼檢視原始碼討論檢視歷史
移碼是一個科技名詞。
現代漢字是指楷化後的漢字[1]正楷字形,包括繁體字和簡體字。現代漢字即從甲骨文、金文[2]、籀文、篆書,至隸書、草書、楷書、行書等演變而來。漢字為漢民族先民發明創製並作改進,是維繫漢族各方言區不可或缺的紐帶。現存最早可識的漢字是約公元前1300年殷商的甲骨文和稍後的金文, 再到秦朝的小篆 和隸書, 至漢魏隸書盛行,到了漢末隸書楷化為正楷,盛行於魏晉南北朝,至今通行。
名詞解釋
移碼(又叫增碼或偏置碼)通常用於表示浮點數的階碼,其表示形式與補碼相似,只是其符號位用「1」表示正數,用「0」表示負數,數值部分與補碼相同。
緣由
用補碼表示階碼的時候,當階碼無限小,產生了下溢的時候,階碼變成了0,那麼這個浮點數的值變為了1。
而實際上這個數是無限接近於零的。那麼我們就需要取出其中的 "-0「 值作為機器零。
定義
移碼(又叫增碼或偏置碼)通常用於表示浮點數的階碼,其表示形式與補碼相似,只是其符號位用「1」表示正數,用「0」表示負數,數值部分與補碼相同。
①移碼的定義:設由1位符號位和n位數值位組成的階碼,則 [X]移=2n-1 + X(-2n-1≤X<2n-1)
例如: n=5時
當X=+3,則[X]移=10011
當X=-3,則[X]移=01101
②移碼與補碼的關係: [X]移與[X]補的關係是符號位互為相反數(僅符號位不同),
例如: X=+01011[X]補=01011 [X]移=11011
X=-11011 [X]補=10101 [X]移=00101
③移碼運算應注意的問題:
◎對移碼運算的結果需要加以修正,修正量為2En ,即對結果的符號位取反後才是移碼形式的正確結果。
◎移碼表示中,0有唯一的編碼——1000…00,當出現000…00時(表示-2En),屬於浮點數下溢。
符號位 階碼 尾數
第一步:求階差: │ΔE│=|1010-0110|=0100
第二步:對階:Y的階碼小, Y的尾數右移4位
[Y]浮變為 0 1 010 0000110 1101暫時保存
第三步:尾數相加,採用雙符號位的補碼運算
00 1100110
+00 0000110
00 1101100
第四步:規格化,滿足規格化要求
第五步:捨入處理,採用0舍1入法處理
故最終運算結果的浮點數格式為: 0 1 010 1101101,
即X+Y=+0. 1101101*210
浮點數的運算規則
1、浮點加減法的運算步驟
設兩個浮點數 X=Mx※2Ex Y=My※2Ey
實現X±Y要用如下5步完成:
①對階操作:小階向大階看齊
②進行尾數加減運算
③規格化處理:尾數進行運算的結果必須變成規格化的浮點數,對於雙符號位的補碼尾數來說,就必須是
001×××…×× 或110×××…××的形式
若不符合上述形式要進行左規或右規處理。
④捨入操作:在執行對階或右規操作時常用「0」舍「1」入法將右移出去的尾數數值進行捨入,以確保精度。
⑤判結果的正確性:即檢查階碼是否溢出
若階碼下溢(移碼表示是00…0),要置結果為機器0;
若階碼上溢(超過了階碼表示的最大值)置溢出標誌。
例題:
假定X=0 .0110011*211,Y=0.1101101*2-10(此處的數均為二進制) ?? 計算X+Y;
解:[X]浮: 0 1 011 1100110
[Y]浮: 0 0 110 1101101
2、浮點乘除法的運算步驟
①階碼運算:階碼求和(乘法)或階碼求差(除法)
即 [Ex+Ey]移= [Ex]移+ [Ey]補
[Ex-Ey]移= [Ex]移+ [-Ey]補
②浮點數的尾數處理:浮點數中尾數乘除法運算結果要進行捨入處理
例題:
X=0 .0110011*2E11,Y=0.1101101*2E-10
求X※Y
解:[X]浮: 0 1 010 1100110
[Y]浮: 0 0 110 1101101
第一步:階碼相加
[Ex+Ey]移=[Ex]移+[Ey]補=1 010+1 110=1 000
1 000為移碼表示的0
第二步:原碼尾數相乘的結果為:
0 10101101101110
第三步:規格化處理:已滿足規格化要求,不需左規,尾數不變,階碼不變。
第四步:捨入處理:按捨入規則,加1進行修正
所以 X※Y= 0.1010111※2E+000
生物學中編輯 播報
在生物學中,移碼指因為基因突變導致單個鹼基增減,造成的編碼混亂,導致無法正常進行鹼基互補配對,從而生物性狀的改變。
參考文獻
- ↑ 中華優秀傳統文化——漢字,搜狐,2022-03-30
- ↑ 華夏古漢字《金文》,搜狐,2022-03-01