14
การขยายไบนารีไบนารี่
โดยปกติเราจะแยกตัวเลขออกเป็นเลขฐานสองโดยการกำหนดด้วยกำลังของ 2 ด้วยสัมประสิทธิ์ของ0หรือ1สำหรับแต่ละเทอม: 25 = 1*16 + 1*8 + 0*4 + 0*2 + 1*1 ทางเลือกของ0และ1ก็คือ ... ไม่ได้เป็นแบบไบนารีมาก เราจะทำการขยายฐานสองจริงโดยขยายด้วยพลัง 2 แต่ด้วยสัมประสิทธิ์1หรือ-1แทน: 25 = 1*16 + 1*8 + 1*4 - 1*2 - 1*1 ตอนนี้ดูเป็นเลขฐานสอง ด้วยจำนวนที่เป็นบวกใด ๆ คุณควรเห็นว่า: ทุกเลขคี่จะมีการขยายไบนารีจริงจำนวนมากอย่างไม่ จำกัด เลขคู่ทุกตัวไม่มีการขยายไบนารีที่แท้จริง ดังนั้นสำหรับการขยายแบบไบนารีที่แท้จริงที่จะกำหนดไว้อย่างดีเราจำเป็นต้องมีการขยายตัวให้น้อยที่สุดนั่นคือด้วยความยาวที่สั้นที่สุด รับค่าบวกเลขจำนวนเต็มคี่ใด ๆnส่งคืนการขยายไบนารีที่แท้จริงจากตัวเลขที่สำคัญที่สุดไปยังตัวเลขที่มีนัยสำคัญน้อยที่สุด (หรือในลำดับที่กลับกัน) กฎ: เช่นนี้คือ รหัสกอล์ฟคุณควรตั้งเป้าหมายให้เป็นไบต์ที่สั้นที่สุด อนุญาตให้สร้างเครื่องได้ เอาต์พุตใด ๆ ที่สามารถเป็นตัวแทนและแสดงรายการสัมประสิทธิ์เป็นที่ยอมรับได้: อาเรย์สตริงของสัมประสิทธิ์ที่มีตัวคั่น …