JavaScript:有符號整數與無符號整數相互轉化


確實巧妙:原文http://blog.csdn.net/kandyer/article/details/8241937

 

<script language="JavaScript">
<!--
    var signed, unsigned;
    signed = -1;
    unsigned = signed>>>0;
    alert ("unsigned="+unsigned);        // unsigned=4294967295
    signed = unsigned << 0;
    alert ("signed="+signed);                // signed=-1
//-->
</script>
代碼:
unsigned = signed>>>0;
通過使用無符號右移運算符,位動位數為0,可以將32位有符號整數,轉化為32位無符號整數。
signed = unsigned << 0;
通過使用左移運算符,位動位數為0,可以將32位無符號整數,轉化為32位有符號整數。
注:JavaScript的所有位操作都是先將操作對象轉化為32位有符號數進行的。具體的細節可以去查Ecma-262規范(JavaScript 的正式名稱是 "ECMAScript",其語法由Ecma-262規范描述)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM