สารบัญ:
คำจำกัดความ - Bit Shifting หมายถึงอะไร
การเลื่อนบิตเป็นการดำเนินการที่กระทำกับบิตทั้งหมดของค่าไบนารี่ที่พวกมันถูกย้ายโดยจำนวนสถานที่ที่กำหนดไปทางซ้ายหรือขวา การเลื่อนบิตจะถูกใช้เมื่อตัวถูกดำเนินการถูกใช้เป็นชุดของบิตแทนที่จะเป็นภาพรวม กล่าวอีกนัยหนึ่งตัวถูกดำเนินการจะถือเป็นบิตแต่ละตัวที่ยืนหยัดเพื่ออะไรบางอย่างและไม่คุ้มค่า
การเปลี่ยนบิตมักใช้ในการเขียนโปรแกรมและมีอย่างน้อยหนึ่งการเปลี่ยนแปลงในแต่ละภาษาโปรแกรม
การเลื่อนบิตอาจเรียกได้ว่าเป็นการทำงานระดับบิต
Techopedia อธิบาย Bit Shifting
มีสองรูปแบบสำหรับการเลื่อนบิตเลื่อนไปทางขวาและเลื่อนไปทางซ้ายและมีการกำหนดเพิ่มเติมโดยจำนวนสถานที่ที่ควรเลื่อน ตัวอย่างเช่นการเลื่อนตัวถูกดำเนินการหนึ่งค่าไปทางซ้ายหรือเลื่อนค่าบิต "n" ไปทางขวา
นอกจากนี้ยังมีการเลื่อนบิตสองชนิดตรรกะและเลขคณิต การเลื่อนบิตแบบลอจิคัลอาจมีประโยชน์สำหรับการคูณหรือหารจำนวนเต็มที่ไม่ได้ลงชื่อโดยอำนาจของสอง ตัวอย่างเช่นหากค่า "0001" หรือ "1" ถูกเลื่อนไปทางซ้ายมันจะกลายเป็น "0010" หรือ "2, " เลื่อนไปทางซ้ายอีกครั้งมันจะกลายเป็น "0100, " หรือ "4" การเลื่อนไปทางขวามีผลตรงกันข้ามกับการหารค่าสองต่อการเปลี่ยนแปลง ในกรณีส่วนใหญ่การเลื่อนเป็นแบบวงกลมดังนั้นเมื่อเลื่อนไปทางซ้ายค่าซ้ายสุดจะกลายเป็นค่าที่ถูกต้องที่สุดและในทางกลับกัน
การเปลี่ยนแปลงด้านซ้ายแบบลอจิคัลและการเปลี่ยนแปลงด้านซ้ายแบบเลขคณิตมีผลเช่นเดียวกันดังนั้น Java จึงมีโอเปอเรเตอร์กะซ้ายตัวเดียว (<<) การเลื่อนขวาของเลขคณิตคือ (>>) ในขณะที่ตรรกะคือ (>>>) ใน C และ C ++ มีตัวดำเนินการด้านขวากะเดียว (>>); ชนิดของกะที่ต้องทำถูกกำหนดโดยชนิดของจำนวนเต็มที่ถูกเลื่อน จำนวนเต็มที่ลงนามจะถูกเลื่อนโดยใช้เลขคณิตในขณะที่การเลื่อนบิตแบบลอจิคัลจะใช้กับจำนวนเต็มที่ไม่ได้ลงนาม การเลื่อนบิตยังใช้เป็นจำนวนมากในการเขียนโปรแกรมแอสเซมบลีเนื่องจากไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์มักใช้แฟล็กซึ่งแต่ละบิตแทน โดยทั่วไปเป็นเพราะระบบเลขฐานสองถูกใช้ในการเขียนโปรแกรมในภาษาแอสเซมบลีที่การเปลี่ยนบิตกลายเป็นโอเปอเรเตอร์ที่ใช้กันทั่วไป
