1. XORing all data bits.
2. step1 plus XORing parity 1 ~ parity 7.
我之前用的都是 1 的作法,知道 2 的作法後,終於解答了 0xED3A65B4CB4B34E9 這個魔術數字的算法,Rust 的 sample code 如下:
fn main() {
let p1: u64 = 0xDAB5556A_AAAAAAD5;
let p2: u64 = 0xB66CCCD9_999999B3;
let p3: u64 = 0x71E3C3C7_8787878F;
let p4: u64 = 0x0FE03FC0_7F807F80;
let p5: u64 = 0x001FFFC0_007FFF80;
let p6: u64 = 0x0000003F_FFFFFF80;
let p7: u64 = 0x00000000_0000007F;
let p8: u64 = 0xFFFFFFFF_FFFFFFFF;
let another_p8 = p1 ^ p2 ^ p3 ^ p4 ^ p5 ^ p6 ^ p7 ^ p8;
println!("0x{:X}", another_p8);
}
沒有留言:
張貼留言