bit32
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
ห้องสมุดนี้ให้ฟังก์ชันที่จะประมวลผลการดำเนินการแบบข้างเดียว
ข้อจํากัดจํานวน
ห้องสมุดนี้จัดการตัวเลขเป็นตัวเลข 32 บิทที่ไม่มีชื่อ; ตัวเลขจะถูกแปลงเป็นตัวเลขที่ใกล้ที่สุดก่อนที่จะใช้ (ดูภาพด้านล่าง) ตัวเลขที่มีตัวเลขทศนะจะถูกรอบเป็นตัวเลขที่ใกล้ที่สุด

สรุป
ฟังก์ชัน
กลับตัวเลขหลังจากที่บิทของมันถูกเรียงลำดับไปยังด้านขวาโดยการเลียนแบบที่กำหนด
กลับ bitwise และของหมายเลขทั้งหมดที่ให้
กลับ bitwise negation ของหมายเลขที่ให้
กลับ bitwise หรือของตัวเลขทั้งหมดที่ให้
กลับมาเป็นตัวเลือกที่แสดงว่า bitwise และ operands ของมันแตกต่างกับ zero
กลับ bitwise XOR ของตัวเลขทั้งหมดที่ให้
กลับจำนวนเลขที่กำหนดด้วยคำสั่งของบาทส์ที่แลกเปลี่ยน
กลับจำนวนบาทสมุทรของตัวเลขที่เรียกตัวเองว่า บาทสมุทรของตัวเลข ซึ่งเริ่มตั้งแต่ bit ที่มีค่าที่สุดซ้าย (bit ที่มีค่ามากที่สุด)
กลับจำนวนบาทสมุทรของตัวเลขที่ตรงกันในการแสดงผล 32 บาทสมุทรของตัวเลขที่เริ่มตั้งแต่บาทสมุทรขวา (น้อยที่สุด)
สกัดชุดตัวอักษรจากตัวเลขและส่งกลับเป็นตัวเลขที่ไม่มีชื่อ
กลับคัดลอกของตัวเลขที่มีช่วงตัวอักษรแทนที่โดยค่าที่กำหนด
กลับค่าเป็นตัวเลขหลังจากที่บิทของมันถูกหมุนไปทางซ้ายโดยจำนวนเวลาที่กำหนด
กลับจำนวนที่มีบิทถูกเลื่อนไปทางซ้ายโดยการเลื่อนที่กำหนด
กลับค่าหลังจากที่บิทของมันถูกหมุนไปทางด้านขวาโดยจำนวนเวลาที่กำหนด
กลับจำนวนที่มีบิทถูกเลื่อนไปขวาโดยการเลื่อนที่กำหนด
ฟังก์ชัน
arshift
กลับจํานวน x ที่เพิ่มขึ้น disp บิทไปทางด้านขวา จํานวน disp อาจเป็นตัวเลขที่แทนที่ได้ การเคลื่อนที่ลบจะเปลี่ยนไปทางซ้าย
การเปลี่ยนแปลงนี้เรียกว่าการเปลี่ยนแปลงทางคณิตศาสตร์ ส่วนบิทที่ว่างอยู่ทางซ้ายจะเต็มด้วยคัดลอกของบิทสูงสุดของ x ส่วนส่วนที่ว่างอยู่ทางขวาจะเต็ม
ส่งค่ากลับ
band
กลับ bitwise และของหมายเลขทั้งหมดที่ให้
แต่ละบิทได้รับการทดสอบต่อตารางความจริงต่อไปนี้:
<tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>0</td></tr><tr><td>0</td><td>1</td><td>0</td></tr><tr><td>1</td><td>1</td><td>1</td></tr></tbody>
อ | บ | ออก |
---|

พารามิเตอร์
ส่งค่ากลับ
bor
กลับ bitwise หรือของตัวเลขทั้งหมดที่ให้
แต่ละบิทได้รับการทดสอบต่อตารางความจริงต่อไปนี้:
<tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>1</td></tr><tr><td>0</td><td>1</td><td>1</td></tr><tr><td>1</td><td>1</td><td>1</td></tr></tbody>
อ | บ | ออก |
---|

พารามิเตอร์
ส่งค่ากลับ
bxor
กลับ bitwise XOR ของตัวเลขทั้งหมดที่ให้
แต่ละบิทได้รับการทดสอบต่อตารางความจริงต่อไปนี้:
<tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>1</td></tr><tr><td>0</td><td>1</td><td>1</td></tr><tr><td>1</td><td>1</td><td>0</td></tr></tbody>
อ | บ | ออก |
---|

พารามิเตอร์
ส่งค่ากลับ
lrotate
กลับตัวเลข x ที่หมุน disp บิทไปทางซ้าย ตัวเลข disp อาจเป็นตัวเลขที่แทนที่ได้ สำหรับการเคลื่อนที่ที่ถูกต้อง ตัวตระกูลต่อไปนี้เป็นตัวแทนของตัวเลขที่เป็นไ
assert(bit32.lrotate(x, disp) == bit32.lrotate(x, disp % 32))
โดยเฉพาะอย่างยิ่งการเคลื่อนย้ายที่เป็นบวกจะหมุนไปทางขวา
ส่งค่ากลับ
rrotate
กลับค่านี้ x หมุน disp บิทไปทางขวา ตัวเลข disp อาจเป็นตัวเลขใดก็ได้ที่สามารถแทนที่ได้
สำหรับการเคลื่อนย้ายที่ถูกต้องตามที่ติดตั้งตราสัญลักษณ์ต่อไปนี้จะรวมถึง:
assert(bit32.rrotate(x, disp) == bit32.rrotate(x , disp % 32))
โดยเฉพาะอย่างยิ่งการเคลื่อนไหวลบค้างไปทางซ้าย
ส่งค่ากลับ
rshift
กลับจํานวน x ที่เพิ่มขึ้น disp บิทไปทางขวา จํานวน disp อาจเป็นจํานวนที่แทนที่ได้ การเลียนแบบจํานวนลบจะเปลี่ยนเป็น

สำหรับการเคลื่อนย้ายที่เป็นบวก ค่าตัวอย่างต่อไปนี้จะใช้:
assert(bit32.rshift(b, disp) == math.floor(b % 2^32 / 2^disp))
การเปลี่ยนแปลงนี้เรียกว่าการเปลี่ยนแปลงทางละคร