ฉันกำลังเพิ่มประสิทธิภาพการใช้งานการบีบอัดทางคณิตศาสตร์ของฉัน ฉันได้รวมอัลกอริธึมการเข้ารหัสทางคณิตศาสตร์พื้นฐานไว้ด้านล่าง:
lower bound = 0
upper bound = 1
while there are still symbols to encode
current range = upper bound - lower bound
upper bound = lower bound + (current range × upper bound of new symbol)
lower bound = lower bound + (current range × lower bound of new symbol)
end while
ฉันมีความคิดที่จะปัดเศษค่าของฉัน แต่การทำเช่นนั้น การคำนวณขอบเขตบนจะไม่สามารถใช้ค่าขอบเขตล่างได้ ฉันคิดไม่ออกว่าต้องทำอย่างไร
ข้อมูลเพิ่มเติม: ฉันวางแผนที่จะปัดเศษขอบเขตล่างขึ้น ทำให้ช่วงแคบลง ดังนั้นจึงรักษาความแม่นยำ ขณะเดียวกันก็ทำให้ตัวเลขของฉันมีหลักน้อยลง จากนั้นปัดขอบบนของฉันล่างด้วยวิธีเดียวกัน อย่างไรก็ตาม การคำนวณขอบเขตบนทำให้เพิ่มขึ้นหากเราเพิ่มค่าของขอบเขตล่าง จึงทำให้อัลกอริทึมไม่ถูกต้อง
คำถามของฉันคือ ฉันจะคำนวณขอบเขตบนโดยไม่ใช้ค่าของขอบเขตล่างได้อย่างไร
long
แทน - person comingstorm   schedule 22.03.2013>>>
เพื่อทำการเลื่อนตามที่คุณต้องการสำหรับการบีบอัดทางคณิตศาสตร์ - person comingstorm   schedule 22.03.2013<<
อย่างไรก็ตาม ขึ้นอยู่กับว่าคุณใช้คณิตศาสตร์อย่างไร การรู้เกี่ยวกับตัวดำเนินการเลื่อนขวาที่ไม่ได้ลงนามก็อาจมีประโยชน์เช่นกัน... - person comingstorm   schedule 22.03.2013