首頁 > web前端 > js教程 > 主體

js實作特定位取反原理及範例_javascript技巧

WBOY
發布: 2016-05-16 16:42:55
原創
1330 人瀏覽過

去華為面試的時候,沒有做好準備工作;面試的流程沒有問清也沒有查,結果一過去就讓上機做題,著實有點措手不及。筆者是擅長前端的Java Web工程師啊,基本的底層程式設計知識早已生疏了。機試題碰到了這道位運算的題目,照理說是非常簡單的,原理筆者也很清楚,但是由於實在是好多年沒有搞過位運算了,Java位運算更是沒有操作過,所以結果實在是不體面…

機試時間規定是一個小時,語言可選C或Java還有個什麼腳本語言,筆者花了將近三個小時,才用Java勉強把題做出來了,慚愧慚愧……回來就用JS重新實作了一個簡單版本,今天整理貼出來。

題目是:循環輸入每組兩個數hex和n(0

筆者折騰兩個多小時的過程就不再贅述了,這裡給出js的實現,很簡單的位元操作基礎知識。原理囉嗦一句,就是把1按比特位左移n位,然後跟原數異或就行了:

function bitOper(hex, n){ 
var num = parseInt(hex); 
num ^= (1<<n); 
return num.toString(16); 
} 
console.log(bitOper(0x1234, 3)); //123c
登入後複製

由於js整數型別只有32位元的限制,上述範例程式碼僅支援n

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!