Skip to main content

ผู้ประกอบการบิตคืออะไร?

ในโปรแกรมคอมพิวเตอร์ผู้ให้บริการ Bitwise เป็นตัวดำเนินการสำหรับจัดการรูปแบบบิตในการแสดงออกBitwise และหรือ, Exclusive หรือ (XOR) ไม่ใช่การเปลี่ยนแปลงขวาและการเลื่อนซ้ายเป็นการดำเนินการทั่วไปภาษาการเขียนโปรแกรมคอมพิวเตอร์ส่วนใหญ่รวมถึงผู้ให้บริการทั้งหกตัวพวกเขามักจะใช้สำหรับการตั้งค่าการล้างหรือพลิกแต่ละบิตในโปรแกรมที่ควบคุมฮาร์ดแวร์คอมพิวเตอร์ตัวดำเนินการ Bitwise มักจะใช้ในการเข้ารหัสข้อมูลและอัลกอริทึมการบีบอัด

ตัวดำเนินการบิตที่พบบ่อยมักจะแสดงเป็นสัญลักษณ์ในภาษาการเขียนโปรแกรมเช่น C, C ++ และ Javaพวกเขาจะใช้ในการแสดงออกเช่นเดียวกับตัวดำเนินการทางคณิตศาสตร์เช่นบวกหรือลบสัญญาณจะเป็นตัวดำเนินการ Bitwise และแสดงด้วย ampersand หรือกับท่อ | และ xor กับ caret ^ไม่ได้เป็นที่รู้จักกันในนามผู้ประกอบการส่วนประกอบจะถูกระบุด้วย tilde ~

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

ผู้ประกอบการ bitwise ใช้การดำเนินการเชิงตรรกะกับบิตแต่ละคู่ในตัวถูกดำเนินการไม่ใช่กะขวาและกะซ้ายมีตัวถูกดำเนินการจริงเพียงตัวเดียวค่าที่สองในการดำเนินการกะคือการนับบิตเพื่อให้เข้าใจได้ดีขึ้นว่าผู้ให้บริการบิตได้ทำงานอย่างไรแต่ละคนสามารถมองเห็นตัวถูกดำเนินการเป็นตัวเลขไบนารีตัวอย่างเช่นผู้ประกอบการเสริมจะพลิกแต่ละบิตของตัวถูกดำเนินการเดียวไปยังสถานะตรงข้ามหนึ่งกลายเป็นศูนย์และศูนย์กลายเป็นหนึ่งส่วนประกอบของค่าไบนารี 8 บิต 00110101 คือ 11001010

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

ในการดำเนินการและการดำเนินการบิตตัวถูกดำเนินการทั้งสองจะต้องเป็นชิ้นส่วนเพื่อให้ผลลัพธ์เป็นหนึ่งมิฉะนั้นผลลัพธ์จะเป็นศูนย์ตัวอย่างเช่นหากค่าไบนารี 8 บิตของตัวถูกดำเนินการคือ 00110101 และ 11110000 ผลลัพธ์จะเป็น 00110000 การใช้งานร่วมกันของตัวดำเนินการและผู้ให้บริการคือการออกบิตเฉพาะในผลลัพธ์สิ่งนี้ทำได้โดยการวาง Zeroes ในตำแหน่งบิตเหล่านั้นในหนึ่งในตัวถูกดำเนินการ

ในการดำเนินการหรือการดำเนินการบิตตัวถูกดำเนินการทั้งสองจะต้องเป็นศูนย์เพื่อให้ผลลัพธ์เป็นศูนย์มิฉะนั้นผลลัพธ์คือหนึ่งการใช้งานทั่วไปของ OR Operator คือการตั้งค่าบิตบางอย่างของผลลัพธ์ให้เป็นสิ่งนี้ทำได้โดยการวางตำแหน่งไว้ในตำแหน่งบิตเหล่านั้นในหนึ่งในตัวถูกดำเนินการสำหรับการดำเนินการ XOR ผลลัพธ์จะเป็นศูนย์หากบิตตัวถูกดำเนินการทั้งสองเป็นศูนย์หรือถ้าบิตตัวถูกดำเนินการทั้งสองเป็นหนึ่ง mdash; มิฉะนั้นผลลัพธ์จะเป็นหนึ่ง

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

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

การดำเนินการกะ bitwise เป็นภาษาและขึ้นอยู่กับการใช้งานตัวอย่างเช่นใน C และ C ++,

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

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