JavaScript 快速導覽 - 位元運算

JavaScript 亦提供給整數型態進行逐位元運算的運算子,例如某 16 位元整數如下

0000111100001111


取其補數該整數會變成
1111000011110000


位元運算子 (bitwise operator) ,如下列表
運算子功能範例
~取補數~a
<<保留正負號向左位移a << b
>>保留正負號向右位移a >> b
>>>無正負號向右位移a >>> b
&位元且a & b
^位元互斥或a ^ b
|位元包含或a | b


以下程式示範位元運算子
function run() {
    var c = document.getElementById("content");
    var n1 = document.createElement("p");
    var n2 = document.createElement("p");
    var n3 = document.createElement("p");
    var n4 = document.createElement("p");
    var n5 = document.createElement("p");
    var n6 = document.createElement("p");
    var n7 = document.createElement("p");
    n1.appendChild(document.createTextNode(~0x0));
    c.appendChild(n1);
    n2.appendChild(document.createTextNode(0x100 << 4));
    c.appendChild(n2);
    n3.appendChild(document.createTextNode(0x100 >> 4));
    c.appendChild(n3);
    n4.appendChild(document.createTextNode(0x100 >>> 4));
    c.appendChild(n4);
    n5.appendChild(document.createTextNode(0x101 & 0x001));
    c.appendChild(n5);
    n6.appendChild(document.createTextNode(0x101 ^ 0x001));
    c.appendChild(n6);
    n7.appendChild(document.createTextNode(0x101 | 0x001));
    c.appendChild(n7);
}

/* 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:run14.js
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2010 年 11 月 */


利用以下的 HTML 文件載入
<html>

<head>
<title>JavaScript Demo</title>
<script src="run14.js" type="text/javascript"></script>
</head>

<body>
<input id="b" type="button" value="RUN" onclick="run();">
<div id="content"></div>
</body>

</html>

<!-- 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:jsexample17.html
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2010 年 11 月 -->


瀏覽器 (broswer) 開啟後執行,如下



中英文術語對照
位元運算子bitwise operator
瀏覽器broswer






沒有留言: