เครดิต
สร้างฟังก์ชันที่คำนวณแฮช CRC32 ของสตริงอินพุต อินพุตจะเป็นสตริง ASCII ของความยาวใด ๆ เอาต์พุตจะเป็นแฮช CRC32 ของสตริงอินพุตนั้น
คำอธิบาย
อัลกอริทึมของ CRC32 และ CRC อื่น ๆ นั้นมีความเหมือนกันดังนั้น CRC3 เท่านั้นที่จะแสดงที่นี่
ก่อนอื่นคุณมีพหุนามกำเนิดซึ่งจริงแล้วเป็นจำนวนเต็ม 4 บิต [n + 1] (จะเป็น 33 บิตใน CRC32)
1101ในตัวอย่างนี้พหุนามกำเนิดคือ
00010010111100101011001101จากนั้นคุณจะมีสตริงที่จะถกกันซึ่งในตัวอย่างนี้จะเป็น
00010010111100101011001101|000 (1)    append three [n] "0"s
   1101                        (2)    align with highest bit
00001000111100101011001101|000 (3)    XOR (1) and (2)
    1101                       (4)    align with highest bit
00000101111100101011001101|000 (5)    XOR (3) and (4)
     1101                      (6)    align with highest bit
00000011011100101011001101|000 (7)    XOR (5) and (6)
      1101                     (8)    align with highest bit
00000000001100101011001101|000 (9)    XOR (7) and (8)
          1101                 (10)   align with highest bit
00000000000001101011001101|000 (11)   XOR (9) and (10)
             1101              (12)   align with highest bit
00000000000000000011001101|000 (13)   XOR (11) and (12)
                  1101         (14)   align with highest bit
00000000000000000000011101|000 (15)   XOR (13) and (14)
                     1101      (16)   align with highest bit
00000000000000000000000111|000 (17)   XOR (15) and (16)
                       110 1   (18)   align with highest bit
00000000000000000000000001|100 (19)   XOR (17) and (18)
                         1 101 (20)   align with highest bit
00000000000000000000000000|001 (21)   XOR (19) and (20)
^--------REGION 1--------^ ^2^
ส่วนที่เหลือที่ได้รับ(21)เมื่อภูมิภาค 1 เป็นศูนย์ซึ่งก็คือ001ผลลัพธ์ของการแฮช CRC3
รายละเอียด
- เครื่องกำเนิดไฟฟ้าพหุนามเป็น
0x104C11DB7หรือหรือ0b1000001001100000100011101101101114374732215 - อินพุตอาจเป็นสตริงหรือรายการจำนวนเต็มหรือรูปแบบที่เหมาะสมอื่น ๆ
 - เอาท์พุทเป็นสตริงฐานสิบหกหรือเพียงจำนวนเต็มหรือรูปแบบที่เหมาะสมอื่น ๆ
 - บิวด์อินที่คำนวณแฮช CRC32 ไม่ได้รับอนุญาต
 
เป้าหมาย
กฎระเบียบมาตรฐานสำหรับรหัสกอล์ฟสมัคร
รหัสที่สั้นที่สุดชนะ
กรณีทดสอบ
input         output      (hex)
"code-golf"   147743960   08CE64D8
"jelly"       1699969158  65537886
""            0           00000000