คอมพิวเตอร์อยู่ด้วยเลขฐานสอง โปรแกรมเมอร์ทุกคนรู้ไบนารี
แต่2**x
ฐานมักถูกมองข้ามว่าไม่สามารถปฏิบัติได้ในขณะที่มีความสัมพันธ์ที่สวยงามกับระบบเลขฐานสอง
เพื่อแสดงตัวอย่างหนึ่งของความสัมพันธ์ที่สวยงามเช่นนี้ 19 จะเป็นคำรับรองของฉัน
19 10011 103 23 13 j
19 คือทศนิยมรวมอยู่ในความชัดเจน
10011 คือ 19 เป็นเลขฐานสอง
103 ในฐาน 4 สร้างจากฐานสองด้วยวิธีนี้:
- log2 (4) == 2 ให้เราจำไว้สองข้อ
- Pad 10011 เพื่อให้มันมีความยาวหลายเท่า -> 010011
ใช้ตัวเลข 2 คูณ 2 จากซ้ายไปขวาและถือเป็นเลขฐานสอง 2 หลัก:
- 01 -> 1
- 00 -> 0
- 11 -> 3
เสร็จสิ้น 10011 ในฐาน 4 คือ 103
สำหรับฐาน 8 ให้ทำเช่นเดียวกัน แต่ 3-by-3 กับ log2 (8) = 3
- แผ่น 010011
- 010 -> 2
011 -> 3
23 เสร็จสิ้น
สำหรับฐาน 16 ให้ทำเช่นเดียวกัน แต่ 4-by-4 เหมือนกับ log2 (16) = 4
- แผ่น 00010011
- 0001 -> 1
0011 -> 3
13, เสร็จแล้ว
งาน
เมื่อกำหนดจำนวนสูงสุดเป็นอินพุตคุณจะต้องส่งออกตาราง
base-ten-i base-two-i base-four-i base-eight-i base-sixteen-i base-thirtytwo-i
สำหรับฉันที่ไปจาก 0 ถึง n รวม หมายเลขไบนารีเป็นสิ่งที่ดีเลิศของจำนวนขั้นต่ำที่จำเป็นในการทำงานดังนั้นรหัสของคุณควรสั้นที่สุด
ข้อ จำกัด และโบนัส
Base-ten -> ไบนารีและไบนารี -> บิวด์อินฐานสิบถูกพิจารณาว่าเป็นช่องโหว่ตาม Base-a -> Base-b
หากคุณสร้างฐาน
2**i
(สำหรับ i> 2) ทั้งหมดโดยใช้ความสัมพันธ์มากกว่าที่กล่าวถึงคุณจะได้รับ*0.6
โบนัส แต่อนุญาตให้ทำการแปลงฐานทั่วไป (เขียนด้วยตัวเอง) ได้
ตารางตัวอย่าง
> 32
0 0 0 0 0 0
1 1 1 1 1 1
2 10 2 2 2 2
3 11 3 3 3 3
4 100 10 4 4 4
5 101 11 5 5 5
6 110 12 6 6 6
7 111 13 7 7 7
8 1000 20 10 8 8
9 1001 21 11 9 9
10 1010 22 12 a a
11 1011 23 13 b b
12 1100 30 14 c c
13 1101 31 15 d d
14 1110 32 16 e e
15 1111 33 17 f f
16 10000 100 20 10 g
17 10001 101 21 11 h
18 10010 102 22 12 i
19 10011 103 23 13 j
20 10100 110 24 14 k
21 10101 111 25 15 l
22 10110 112 26 16 m
23 10111 113 27 17 n
24 11000 120 30 18 o
25 11001 121 31 19 p
26 11010 122 32 1a q
27 11011 123 33 1b r
28 11100 130 34 1c s
29 11101 131 35 1d t
30 11110 132 36 1e u
31 11111 133 37 1f v
32 100000 200 40 20 10