reg [3:0] in; output [3:0] shfta; assign shfta = {in
ในกรณีนี้ เนื่องจาก shfta
กว้าง 4 บิต ค่าของ {in<<2} จะถูกตัดให้สั้นลงเป็น 4 บิตน้อยที่สุด หาก in = 4'b0100
เป็น เช่นนั้น shfta = 4'b0000
บิตที่สําคัญที่สุดสองตัวของค่าที่เปลี่ยนไป 6 บิตจะสูญหายไป
ในรหัสต่อไปนี้ ค่าที่เปลี่ยน 6 บิตจะถูกเก็บรักษาไว้และshfta
จะได้รับค่าที่ถูกต้อง หาก in=4'b0100
เป็น เช่นนั้นshfta = 6'b010000
reg [3:0] in; output [5:0] shfta; assign shfta = {in<<2};
ซอฟต์แวร์ MAX PLUS II จะอนุมานขนาดที่เหมาะสมสําหรับการเปลี่ยนโดยขึ้นอยู่กับขนาดของตัวแปรทางด้านซ้ายของรายงานการมอบหมาย พิจารณารหัสต่อไปนี้:
reg [3:0] in; output [7:0] shfta; assign shfta = {in<<2} 7'h10;
เนื่องจากมี shfta
ความกว้างแปดบิต {in<<2} จึงมีการกําหนดแปดบิต กฎเดียวกันนี้ใช้กับผู้ให้บริการ>> อย่างไรก็ตาม เนื่องจากธรรมชาติของผู้ให้บริการ>> ผลลัพธ์จึงไม่ได้รับผลกระทบจากความกว้างของการปรับใช้ตัวดําเนินการเปลี่ยนแปลง ตัวอย่างเช่น หาก in =4'b1000
{in>>2} เป็น 4'b0010
ทางด้านซ้ายของข้อมูลที่เปลี่ยนไปจะเบาะเป็นศูนย์ นี่คือบิตที่สําคัญที่สุดจะไม่สูญหาย แต่บิตที่สําคัญน้อยที่สุดจะหายไปเนื่องจากการเปลี่ยนเป็นอิสระจากความกว้างของ
การปรับใช้ตัวดําเนินการกะ