There are several details you need to 'match up' with for a particular การแปล - There are several details you need to 'match up' with for a particular ไทย วิธีการพูด

There are several details you need

There are several details you need to 'match up' with for a particular CRC implementation - even using the same polynomial there can be different results because of minor differences in how data bits are handled, using a particular initial value for the CRC (sometimes it's zero, sometimes 0xffff), and/or inverting the bits of the CRC. For example, sometimes one implementation will work from the low order bits of the data bytes up, while sometimes they'll work from the high order bits down (as yours currently does).

Also, you need to 'push out' the last bits of the CRC after you've run all the data bits through.

Keep in mind that CRC algorithms were designed to be implemented in hardware, so some of how bit ordering is handled may not make so much sense from a software point of view.

If you want to match the CRC16 with polynomial 0x8005 as shown on the lammertbies.nl CRC calculator page, you need to make the following changes to your CRC function:

a) run the data bits through the CRC loop starting from the least significant bit instead of from the most significant bit
b) push the last 16 bits of the CRC out of the CRC register after you've finished with the input data
c) reverse the CRC bits (I'm guessing this bit is a carry over from hardware implementations)

So, your function might look like:
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
มีรายละเอียดต่าง ๆ ที่คุณจำเป็นต้อง 'จับคู่' กับสำหรับเฉพาะ CRC ดำเนินการ - ใช้พหุนามเดียวที่สามารถมีผลแตกต่างเนื่องจากความแตกต่างเล็กน้อยในวิธีการจัดการกับบิตข้อมูล ใช้ค่าเริ่มต้นเฉพาะ CRC (บางครั้งมันของศูนย์ บางครั้ง 0xffff), หรือสีบิตของ CRC ตรงกันข้าม ตัวอย่าง บางครั้งหนึ่งนำไปใช้จะได้จากบิตต่ำสั่งไบต์ข้อมูล ขณะที่บางครั้งพวกเขาจะทำงานจากบิตสูงสั่งลง (กับคนปัจจุบัน)ยัง คุณจำเป็นต้อง 'ผลักดันออก' บิตสุดท้ายของ CRC หลังจากที่คุณได้เรียกใช้บิตข้อมูลทั้งหมดผ่านพึงระลึกว่า CRC อัลกอริทึมถูกออกแบบมาเพื่อสามารถนำมาใช้ในฮาร์ดแวร์ เพื่อบางวิธีเรียงลำดับบิตจัดการอาจไม่เหมาะสมมากจากมุมมองของซอฟต์แวร์จุดถ้าคุณต้องการ CRC16 กับพหุนาม 0x8005 ตามที่แสดงบนหน้าการคำนวณ CRC lammertbies.nl คุณจำเป็นต้องทำการเปลี่ยนแปลงต่อไปนี้ฟังก์ชันของ CRC: ก) บิตข้อมูลทำงานผ่านลูป CRC ตั้งแต่บิตอย่างน้อยสำคัญแทนจากบิตที่สำคัญ ข 16 บิตสุดท้ายของ CRC จาก CRC ลงทะเบียนหลังจากที่คุณกดด้วยข้อมูลป้อนเข้า c) กลับบิต CRC (ฉันคาดเดาบิตนี้จะดำเนินการผ่านจากการใช้งานฮาร์ดแวร์)ดังนั้น ฟังก์ชั่นของคุณอาจดูเหมือน:
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
มีรายละเอียดหลายประการที่คุณต้อง 'ตรง' ด้วยสำหรับการดำเนินงานซีอาร์ซีโดยเฉพาะอย่างยิ่ง - แม้กระทั่งการใช้พหุนามมีเดียวกันสามารถเป็นผลที่แตกต่างกันเพราะความแตกต่างเล็กน้อยในวิธีบิตข้อมูลได้รับการจัดการโดยใช้ค่าเริ่มต้นโดยเฉพาะอย่างยิ่งสำหรับซีอาร์ซี (บางครั้งก็ ศูนย์บางครั้ง 0xffff) และ / หรือ inverting บิตของซีอาร์ซี ตัวอย่างเช่นบางครั้งการดำเนินการอย่างใดอย่างหนึ่งจะทำงานจากบิตเพื่อต่ำของข้อมูลไบต์ขึ้นในขณะที่บางครั้งพวกเขาจะทำงานจากบิตสูงเพื่อลง (เป็นของคุณในขณะนี้ไม่). นอกจากนี้คุณต้อง 'ผลักดันออก' บิตที่ผ่านมา ของซีอาร์ซีหลังจากที่คุณได้ใช้ทุกบิตข้อมูลผ่าน. โปรดทราบว่าขั้นตอนวิธีซีอาร์ซีได้รับการออกแบบที่จะดำเนินการในฮาร์ดแวร์เพื่อให้บางส่วนของวิธีการสั่งซื้อบิตจะถูกจัดการไม่อาจทำให้ความรู้สึกมากจากจุดที่ซอฟแวร์ของมุมมอง. ถ้า คุณต้องการเพื่อให้ตรงกับ CRC16 กับพหุนาม 0x8005 ตามที่แสดงบนหน้าเครื่องคิดเลข lammertbies.nl CRC คุณจำเป็นต้องทำการเปลี่ยนแปลงต่อไปนี้เพื่อฟังก์ชั่นซีอาร์ซีของคุณ: ) ทำงานบิตข้อมูลผ่านวงซีอาร์ซีเริ่มต้นจากการที่มีนัยสำคัญบิตอย่างน้อยแทน จากบิตที่สำคัญที่สุดข) ผลักดันสุดท้าย 16 บิตของซีอาร์ซีออกจากซีอาร์ซีลงทะเบียนหลังจากที่คุณได้เสร็จสิ้นการที่มีข้อมูลเข้าค) กลับบิต CRC (ฉันคาดเดาบิตนี้ดำเนินไปจากการใช้งานฮาร์ดแวร์) ดังนั้นการทำงานของคุณอาจมีลักษณะเช่น:











การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
มีรายละเอียดหลายประการที่คุณต้อง ' ตรง ' กับการใช้งาน - ซีอาร์ซีโดยเฉพาะแม้ใช้ชื่อเดียวกันจะมีผลที่แตกต่างกันเนื่องจากความแตกต่างเล็กน้อยในวิธีการจัดการบิตข้อมูล การใช้ค่าเริ่มต้นโดยเฉพาะอย่างยิ่งสำหรับซีอาร์ซี ( บางครั้งก็ศูนย์ บางครั้ง 0xffff ) และ / หรือกลับหัวบิตของ โดยซีอาร์ซี . ตัวอย่างเช่นบางครั้งการจะทำงานจากคำสั่งน้อยบิตของข้อมูลไบต์ ในขณะที่บางครั้งพวกเขาจะทำงานจากการสั่งซื้อสูงบิตลง ( คนปัจจุบัน )

นอกจากนี้ คุณต้องดันออกบิตสุดท้ายของ CRC หลังจากที่คุณใช้ข้อมูลทั้งหมด

เก็บบิตผ่าน ในใจว่าขั้นตอนวิธี CRC ถูกออกแบบมาเพื่อ ใช้ในฮาร์ดแวร์ดังนั้นบางส่วนของวิธีการบิตการสั่งซื้อควบคุมอาจจะไม่ทำให้รู้สึกมากจากซอฟต์แวร์มุมมอง

ถ้าคุณต้องการเพื่อให้ตรงกับ crc16 กับพหุนาม 0x8005 ตามที่แสดงใน lammertbies.nl CRC เครื่องคิดเลขหน้า , คุณจะต้องทำให้การเปลี่ยนแปลงดังต่อไปนี้ฟังก์ชัน CRC :

) การเรียกข้อมูลบิตผ่าน ซีอาร์ซี ห่วงเริ่มจากบิตอย่างน้อยที่สำคัญแทนจากบิต
สําคัญมากข ) ดันครั้งสุดท้าย 16 บิตของ CRC ของ CRC ลงทะเบียนหลังจากเสร็จแล้วมีข้อมูล
c ) กลับ 5 บิต ( ผมเดานะครับ คือ พกมาจากการใช้งานฮาร์ดแวร์ )

ดังนั้นการทำงานของคุณอาจมีลักษณะเช่น :
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2024 I Love Translation. All reserved.

E-mail: