ฉันกำลังเขียนโปรแกรมเกม Reversi ด้วยภาษา C และฉันยังใหม่กับภาษานี้ (มาจาก java) และยังไม่เคยเขียนโปรแกรมเกมด้วยบอร์ด 8x8 มาก่อน ฉันต้องการใช้ bit Boards เพื่อแสดงบอร์ดเกมสำหรับผู้เล่นทั้งคนขาวและดำ (คำละ 64 บิตหนึ่งคำ) และฉันสงสัยว่าฉันควรใช้ Unsigned long เพื่อจุดประสงค์นั้นหรือไม่
จากสิ่งที่ฉันรู้ Unsigned Type เป็นประเภทที่ไม่ใช้ leftMost bit เป็นตัวบ่งชี้เครื่องหมาย (0 สำหรับค่าบวกและ 1 สำหรับค่าลบ) ฉันรู้ด้วยว่า Java นั้นรองรับเฉพาะประเภทที่เซ็นชื่อเท่านั้น แต่ในกรณีของฉัน ฉันจะต้องใช้บิตซ้ายสุดเป็นกำลังสองที่ถูกต้องสำหรับกระดาน ไม่สำคัญว่าฉันจะต้องใช้ประเภทที่ลงนามหรือไม่ได้ลงนามเพื่อสิ่งนั้นหรือไม่?
ตัวอย่างเช่น ถ้าฉันวางชิ้นสีขาวบนสี่เหลี่ยมสุดท้ายของบิตบอร์ดสีขาว (บิตซ้ายสุด) แล้วตัวเลขจะกลายเป็นลบ ตกลงไหม?