แปลงตัวเลขทศนิยม (ฐาน 10) เป็นตัวเลขฐานสอง (ฐาน 2) สำหรับการทำงานกับระบบเลขฐานสองที่ใช้ในการเขียนโปรแกรมและอิเล็กทรอนิกส์
=DEC2BIN(number, [places])
=DEC2BIN(number, [places])
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| number | Number | Yes | ตัวเลขฐาน 10 (ทศนิยม) ที่ต้องการแปลงเป็นฐาน 2 ต้องอยู่ในช่วง -512 ถึง 511 | |
| places | Number | Optional | 0 | จำนวนหลักที่ต้องการให้เลขฐาน 2 มี โดยจะเติม 0 ข้างหน้าถ้าผลลัพธ์ไม่พอ หากระบุ places แต่ผลลัพธ์มากกว่านั้นจะขึ้น #NUM! |
DEC2BIN(9)=DEC2BIN(9)
1001
DEC2BIN(9, 8)=DEC2BIN(9, 8)
00001001
DEC2BIN(-100)=DEC2BIN(-100)
1110011100
DEC2BIN(255, 16)=DEC2BIN(255, 16)
0000000011111111
DEC2BIN(512)=DEC2BIN(512)
#NUM!
DEC2BIN(100, 5)=DEC2BIN(100, 5)
#NUM!
ได้ครับ แต่เฉพาะเลขลบในช่วง -512 ถึง -1 เท่านั้น เลขลบจะแสดงเป็น two’s complement (วิธีแทนเลขลบในระบบคอมพิวเตอร์) ซึ่งใช้ 10 บิต เช่น -1 = 1111111111
ใช่ครับ ถ้ามีตัวเลขเกิน 511 หรือน้อยกว่า -512 ต้องใช้ BASE() function แทน เช่น BASE(1024, 2) จะแปลง 1024 เป็นฐาน 2 ได้อย่างปลอดภัย
places = 0 (ค่า default) หมายความว่าให้ผลลัพธ์มีจำนวนหลักน้อยที่สุดตามธรรมชาติ ไม่มีการเติม 0 ข้างหน้า เช่น =DEC2BIN(9, 0) จะแสดงผล 1001 ไม่ใช่ 00001001
DEC2BIN แปลงเป็นฐาน 2 เท่านั้นและมีขอบเขตที่จำกัด (-512 ถึง 511) ส่วน BASE() สามารถแปลงเป็นฐาน 2 ถึง 36 ได้และรับค่าที่ใหญ่กว่า แต่ผลลัพธ์เป็น text ไม่ใช่ตัวเลข
DEC2BIN คือฟังก์ชันสำหรับแปลงเลขฐานสิบทั่วไปที่เราใช้ในชีวิตประจำวันให้เป็นเลขฐานสองที่คอมพิวเตอร์เข้าใจ
เช่นถ้าคุณมีตัวเลข 9 ในฐาน 10 ฟังก์ชนนี้จะแปลงให้เป็น 1001 ในฐาน 2 ซึ่งเป็นการคำนวณตำแหน่งของเลขแต่ละตัว (8×1 + 4×0 + 2×0 + 1×1 = 9) ส่วนใหญ่จะใช้ในการทำงานกับระบบอิเล็กทรอนิกส์ การเขียนโปรแกรม หรือการศึกษาระบบตัวเลข
จำไว้ว่า DEC2BIN รับค่าได้แค่ -512 ถึง 511 เท่านั้น ถ้าเกินขอบเขตนี้จะขึ้น #NUM! error ซึ่งต้องใช้ BASE หรือสูตรอื่นแทน