REV 編碼和可靠性編碼

2021-09-24 14:43:56 字數 2612 閱讀 9408

8421

略.1010~1111無效.

2421

無重複但有多值.對9自補規則取消多值.0101-1010無效.

餘3平衡8421的無效區間使其對9自補.

value=8421+3.

最高位不變,其餘位gi=

bi+1

⊕big_i=b_\oplus b_i

gi​=bi

+1​⊕

bi​就是卡諾圖中用的順序.相鄰只有一位不同.

特點:編/解碼相同

碼距:任意兩個合法編碼不同位數最小值

≥e+

1\geq e+1

≥e+1

單獨檢測e位

2t

+1\geq 2t+1

≥2t+

1單獨糾錯t位

e+

t+1\geq e+t+1

≥e+t+1

聯合檢測糾錯

通過操作一位校驗碼使編碼中1的個數為奇數/偶數

注意:ref:

要使用海明碼糾錯,首先就要確定傳送的資料所需要要的校驗碼(也就是「海明碼」)位數(也稱「校驗碼長度」)。它是這樣的規定的:假設用n表示新增了校驗碼位後整個資訊的二進位制位數,用k代表其中有效資訊位數,r表示新增的校驗碼位,它們之間的關係應滿足:n=k

+r≤2

r-1n=k+r≤2^r-1

n=k+r≤

2r-1

,即完成後的編碼位數小於等於2r−

12^r-1

2r−1

.這些校驗碼不是直接附加在資訊碼的前面、後面或中間的,而是分開插入到不同的位置。但不用擔心,校驗碼的位置很容易確定的,那就是校驗碼必須是在2

n2^n

2n次方位置,如第1、2、4、8、16、32,……位(對應20、21、22、23、24、25,……,是從最左邊的位數起的),這樣一來就知道了資訊碼的分布位置,也就是非2

n2^n

2n次方位置,如第3、5、6、7、9、10、11、12、13,……位(是從最左邊的位數起的)

32bits 1位符號位 8位階碼 23位尾碼->精度23位有效數字

提取符號位

將二進位制串轉換為1.∗∗

∗∗∗×

2e1.*****\times 2^e

1.∗∗∗∗

∗×2e

移碼=e+127尾碼=********

在尾數用補碼表示時,規格化浮點數應滿足尾數最高數字與符號位不同,如相同就是不滿足規格化.

若不對浮點數的表示作出明確規定,同乙個浮點數的表示就不是唯一的。例如,十進位制數可以表示成1.11×10ˇ0,0.111×10ˇ1,0.0111×10ˇ2等多種形式。為了提高資料的表示精度,當尾數的值不為0時,尾數域的最高有效位應為1(也就是1.∗∗

∗∗∗×

10∗1.*****\times 10^*

1.∗∗∗∗

∗×10

∗),這稱為浮點數的規格化表示。否則以修改階碼同時左右移小數點位置的辦法,使其變為規格化數的形式。

但在ieee754標準中,乙個規格化的32位浮點數x的真值表示為:

x=(-1)ˇs×(1.m)×2ˇ(e-127) e=e-127 其中s是浮點數的符號位,佔1位。m是尾數,放在低位部分,占用23位,小數點位置放在尾數域最左(最高)有效位的右邊。e是階碼,占用8位。它的尾數域所表示的值是1.m。e為實際指數。因為規格化浮點數的尾數域最左位(最高有效位)總是1,故這一位經常不予儲存,而認為隱藏在小數點的左邊。

大端模式:資料的低位儲存在記憶體的高位址中,而資料的高位儲存在記憶體的低位址中,這種儲存模式就類似把資料當做字串順序處理,例如:資料中兩個位元組按順序為:fe

10 ,它表示的乙個數就是0xfe10。

32位下

char :1個位元組

char*(即指標變數): 4個位元組(32位的定址空間是2^32, 即32個bit,也就是4個位元組。同理64位編譯器)

short int : 2個位元組

int: 4個位元組

unsigned int : 4個位元組

float: 4個位元組

double: 8個位元組

long: 4個位元組

long long: 8個位元組

unsigned long: 4個位元組

編碼和可靠性編碼

因為電路是二進位制的,而平時使用的一般都是十進位制,所以需要一種快捷可靠的編碼作為轉換以更簡明的方式傳達資訊.同時,由於資料傳輸中不可避免地存在錯誤 對於二進位制是0 1翻轉 編碼的校驗也十分重要.8421 用4位二進位製碼表示一位十進位制字元的一種有權碼,4位二進位製碼從高位 至低位的權依次為為8...

JAVA編碼規範 效能與可靠性

規則1陣列複製使用system.arraycopy 1.42 說明 更好的效能 規則2不要使用迴圈將集合轉為陣列,可以使用集合的toarray 方法。1.42 說明 更好的效能,更加簡潔 示例 arraylist list new arraylist list.add.string array ne...

可靠性測試學習 可靠性測試理解

最近測試可靠性,參考了業界的一些思維,有些想法和建議 先說說軟體可靠性的定義,根據我測試的體會和思考,我覺得軟體的可靠性就是軟體系統發生故障後自動恢復或者人工干預使其能恢復到正常狀態的能力 業界的測試有些把容錯測試和可靠性測試搞混淆,其實兩者不一樣,容錯測試是通過模擬一些可能發生的已知的異常操作而檢...