Score:0

เหตุใดตัวเลขสองหลักแรกของตารางแฮชจึงไม่ชนกันภายใน CRC32

ธง mv

ใน วิธีการค้นหาตาราง Python CRC32 นี้พหุนามคือ 0x104c11db7.

ฉันเข้าใจได้ว่าตารางที่สร้างขึ้นไม่ชนกัน ท้ายที่สุด ตราบเท่าที่จุดเริ่มต้นและจุดสิ้นสุดของไบนารีพหุนาม 1ดังนั้นแฮชที่ได้รับจากข้อมูลดิบที่แตกต่างกันจะแตกต่างกัน

แต่ทำไมสองบิตแรกของตารางแฮชไม่ชนกัน?

สี่หลักแรกของพหุนามคือ 0x04c1และจุดสิ้นสุดของเลขฐานสองของ 04 ไม่ใช่ 1. มีเหตุผลว่าตัวเลขสองหลักแรกของตารางแฮชควรชนกัน

fgrieu avatar
ng flag
โปรดทราบว่า "uses" ไม่เหมือนกับ "is": พหุนามจริงมีดีกรี 32 "ตารางที่สร้างขึ้น" โดยอิสระนั้นขึ้นอยู่กับวิธีที่ใช้ในการคำนวณ CRC อย่างมาก ซึ่งไม่ชัดเจนในคำถาม ฉันไม่เห็นเหตุผลที่จะลบบิตลำดับสูง นอกจากนี้ "การสิ้นสุดเลขฐานสองของ 04" ยังไม่ชัดเจน (สำหรับการเริ่มต้น สิ้นสุดที่ใด)
quxinna avatar
mv flag
crc32 poly ทำจาก pi จึงไม่ชนกัน
D.W. avatar
fr flag
คุณหมายถึงอะไรโดย "ตารางที่สร้างขึ้นไม่ชนกัน"? คำจำกัดความของ "สร้างตาราง" ในบริบทนี้คืออะไร และคำจำกัดความของการชนกันหรือไม่ชนกันหมายความว่าอย่างไร ฉันขอแนะนำให้ชี้แจงประเด็นเหล่านี้ทั้งหมด และฉันขอแนะนำให้ลบสำเนาที่นี่และถามเกี่ยวกับ CS.SE (แต่ให้แน่ใจว่าคุณชี้แจงประเด็นเหล่านี้ทั้งหมดก่อนที่จะถาม มิฉะนั้น ฉันคาดว่ามันอาจถูกปิดเนื่องจากไม่ชัดเจนใน CS.SE)
quxinna avatar
mv flag
เช่นเดียวกับ pi จากธงญี่ปุ่น ตารางที่สร้างขึ้นจะไม่ชนกัน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา