CC Lab
หลักสูตรการเขียนโปรแกรมภาษา C
ความคืบหน้าเก็บไว้ในเบราว์เซอร์นี้โหมดผู้เรียน
บทเรียน / ตัวดำเนินการระดับบิต / 01

แทนจำนวนด้วยเลขฐานสอง

อ่านค่า unsigned 8-bit จาก binary และเชื่อมกับค่าฐานสิบได้

แนวคิดและการทดลองประมาณ 12 นาที
บทที่ 1 จาก 8
แนวคิดหลัก

แต่ละตำแหน่งของเลขฐานสองแทนกำลังของ 2 จากขวาไปซ้าย 1, 2, 4, 8, ... สำหรับ unsigned char ที่ใช้ 8 bit ช่วงค่าคือ 0–255

ลงมือสำรวจ

เปลี่ยนค่าและสังเกตผล
Bitwise Playground
ค่า = 85 · binary 01010101
01010101 XOR 00000011 = 01010110 (86)

อ่านโค้ดตัวอย่าง

#include <stdio.h>
int main(void) {
    unsigned char flags = 0x55;
    printf("%u\n", (unsigned)flags);
    return 0;
}

ทำนายผลก่อนทดลอง

Prediction

เลขฐานสอง 01010101 มีค่าเป็นฐานสิบเท่าไร?

main.c · ใช้ bit mask ตั้งบิตที่ 1 และตรวจว่าตั้งสำเร็จ
กำลังโหลดตัวแก้ไขโค้ด…

บันทึกโค้ดไว้ใน localStorage ของเบราว์เซอร์นี้ หากเปิดใช้งานการรัน โค้ดและ stdin จะถูกส่งไปยัง Wandbox

จบบทเรียน

กลับไปยังโมดูลบทถัดไป