C语言中,在对unsigned类型的无符号值进行右移位时,左边空出的部分将用0填补;当对signed类型的带符号值进行右移位时,某些机器将对左边空出的部分用符号位填补(即“算数移位”),而另一些机器则对左边空出的部分用0填补(即“逻辑移位”)。
文章关键字 ‘右移位’
C语言中的右移位运算
2012年10月11日,星期四VBS中的左移位&右移位运算
2010年08月22日,星期日之前用VBS写UTF-16编码转UTF-8编码的时候要用到移位运算,但是VBS中没有移位运算符,就用简单的乘除运算实现了移位运算函数。而移位运算并不仅仅是简单的乘除而已,这样写可能会有未知的错误。现在知道了MSScriptControl.ScriptControl对象,实现左移位、右移位是如此的简单。
Function LShift(Value, Shift) Set sc = CreateObject("MSScriptControl.ScriptControl") sc.Language = "JScript" LShift = sc.Eval(Value & "<<" & Shift) End Function Function RShift(Value, Shift) Set sc = CreateObject("MSScriptControl.ScriptControl") sc.Language = "JScript" RShift = sc.Eval(Value & ">>" & Shift) End Function