บ้าน พัฒนาการ การขยับบิตคืออะไร? - คำจำกัดความจาก techopedia

การขยับบิตคืออะไร? - คำจำกัดความจาก techopedia

สารบัญ:

Anonim

คำจำกัดความ - Bit Shifting หมายถึงอะไร

การเลื่อนบิตเป็นการดำเนินการที่กระทำกับบิตทั้งหมดของค่าไบนารี่ที่พวกมันถูกย้ายโดยจำนวนสถานที่ที่กำหนดไปทางซ้ายหรือขวา การเลื่อนบิตจะถูกใช้เมื่อตัวถูกดำเนินการถูกใช้เป็นชุดของบิตแทนที่จะเป็นภาพรวม กล่าวอีกนัยหนึ่งตัวถูกดำเนินการจะถือเป็นบิตแต่ละตัวที่ยืนหยัดเพื่ออะไรบางอย่างและไม่คุ้มค่า

การเปลี่ยนบิตมักใช้ในการเขียนโปรแกรมและมีอย่างน้อยหนึ่งการเปลี่ยนแปลงในแต่ละภาษาโปรแกรม

การเลื่อนบิตอาจเรียกได้ว่าเป็นการทำงานระดับบิต

Techopedia อธิบาย Bit Shifting

มีสองรูปแบบสำหรับการเลื่อนบิตเลื่อนไปทางขวาและเลื่อนไปทางซ้ายและมีการกำหนดเพิ่มเติมโดยจำนวนสถานที่ที่ควรเลื่อน ตัวอย่างเช่นการเลื่อนตัวถูกดำเนินการหนึ่งค่าไปทางซ้ายหรือเลื่อนค่าบิต "n" ไปทางขวา

นอกจากนี้ยังมีการเลื่อนบิตสองชนิดตรรกะและเลขคณิต การเลื่อนบิตแบบลอจิคัลอาจมีประโยชน์สำหรับการคูณหรือหารจำนวนเต็มที่ไม่ได้ลงชื่อโดยอำนาจของสอง ตัวอย่างเช่นหากค่า "0001" หรือ "1" ถูกเลื่อนไปทางซ้ายมันจะกลายเป็น "0010" หรือ "2, " เลื่อนไปทางซ้ายอีกครั้งมันจะกลายเป็น "0100, " หรือ "4" การเลื่อนไปทางขวามีผลตรงกันข้ามกับการหารค่าสองต่อการเปลี่ยนแปลง ในกรณีส่วนใหญ่การเลื่อนเป็นแบบวงกลมดังนั้นเมื่อเลื่อนไปทางซ้ายค่าซ้ายสุดจะกลายเป็นค่าที่ถูกต้องที่สุดและในทางกลับกัน

การเปลี่ยนแปลงด้านซ้ายแบบลอจิคัลและการเปลี่ยนแปลงด้านซ้ายแบบเลขคณิตมีผลเช่นเดียวกันดังนั้น Java จึงมีโอเปอเรเตอร์กะซ้ายตัวเดียว (<<) การเลื่อนขวาของเลขคณิตคือ (>>) ในขณะที่ตรรกะคือ (>>>) ใน C และ C ++ มีตัวดำเนินการด้านขวากะเดียว (>>); ชนิดของกะที่ต้องทำถูกกำหนดโดยชนิดของจำนวนเต็มที่ถูกเลื่อน จำนวนเต็มที่ลงนามจะถูกเลื่อนโดยใช้เลขคณิตในขณะที่การเลื่อนบิตแบบลอจิคัลจะใช้กับจำนวนเต็มที่ไม่ได้ลงนาม การเลื่อนบิตยังใช้เป็นจำนวนมากในการเขียนโปรแกรมแอสเซมบลีเนื่องจากไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์มักใช้แฟล็กซึ่งแต่ละบิตแทน โดยทั่วไปเป็นเพราะระบบเลขฐานสองถูกใช้ในการเขียนโปรแกรมในภาษาแอสเซมบลีที่การเปลี่ยนบิตกลายเป็นโอเปอเรเตอร์ที่ใช้กันทั่วไป

การขยับบิตคืออะไร? - คำจำกัดความจาก techopedia