js实现特定位取反原理及示例


Posted in Javascript onJune 30, 2014

去华为面试的时候,没有做好准备工作;面试的流程没有问清也没有查,结果一过去就让上机做题,着实有点措手不及。笔者是擅长前端的Java Web工程师啊,基本的底层编程知识早已生疏了。机试题碰到了这道位运算的题目,按理说是非常简单的,原理笔者也很清楚,但是由于实在是好多年没有搞过位运算了,Java位运算更是没有操作过,所以结果实在是不体面……

机试时间规定是一个小时,语言可选C或Java还有个什么脚本语言,笔者花了将近三个小时,才用Java勉强把题做出来了,惭愧惭愧……回来就用JS重新实现了一个简单版本,今天整理贴出来。

题目是:循环输入每组两个数hex和n(0<=n<31),hex是一个16进制的数字,我们要做的是将hex的第n位取反,然后以16进制的形式输出对应的结果。

笔者折腾两个多小时的过程就不再赘述了,这里给出js的实现,很简单的位操作基础知识。原理??乱痪洌?褪前?按比特位左移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<31的简单情况(第31位是符号位)。

Javascript 相关文章推荐
表格 隔行换色升级版
Nov 07 Javascript
javascript中字符串拼接需注意的问题
Jul 13 Javascript
JS图片无缝、平滑滚动代码
Mar 11 Javascript
标题过长使用javascript按字节截取字符串
Apr 24 Javascript
jQuery使用ajax跨域获取数据的简单实例
May 18 Javascript
jQuery搜索框效果实现代码(百度关键词联想)
Feb 25 Javascript
AngularJS 支付倒计时功能实现思路
Jun 05 Javascript
Angular使用cli生成自定义文件、组件的方法
Sep 04 Javascript
Vue实现移动端页面切换效果【推荐】
Nov 13 Javascript
PM2自动部署代码步骤流程总结
Dec 10 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
Jul 21 Javascript
webpack DllPlugin xxx is not defined解决办法
Dec 13 Javascript
如何书写高质量jQuery代码(使用jquery性能问题)
Jun 30 #Javascript
jQuery+ajax实现鼠标单击修改内容的思路
Jun 29 #Javascript
html文本框提示效果的示例代码
Jun 28 #Javascript
使用delegate方法为一个tr标签加一个链接
Jun 27 #Javascript
javaScript中两个等于号和三个等于号之间的区别介绍
Jun 27 #Javascript
js获取指定日期周数以及星期几的小例子
Jun 27 #Javascript
网页下载文件期间如何防止用户对网页进行其他操作
Jun 27 #Javascript
You might like
windows下zendframework项目环境搭建(通过命令行配置)
2012/12/06 PHP
页面利用渐进式JPEG来提升用户体验度
2014/12/01 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
php新建文件的方法实例
2019/09/26 PHP
农历与西历对照
2006/09/06 Javascript
javascript 表单的友好用户体现
2009/01/07 Javascript
javascript Firefox与IE 替换节点的方法
2010/02/24 Javascript
JQuery循环滚动图片代码
2011/12/08 Javascript
jquery动态增加删除表格行的小例子
2013/11/14 Javascript
轻松实现js图片预览功能
2016/01/18 Javascript
微信小程序 SocketIO 实例讲解
2016/10/13 Javascript
JS数组搜索之折半搜索实现方法分析
2017/03/27 Javascript
vue实现微信二次分享以及自定义分享的示例
2019/03/20 Javascript
vue 子组件watch监听不到prop的解决
2020/08/09 Javascript
jQuery实现放大镜案例
2020/10/19 jQuery
[15:07]lgd_OG_m2_BP
2019/09/10 DOTA
python实现下载指定网址所有图片的方法
2015/08/08 Python
Python语言生成水仙花数代码示例
2017/12/18 Python
python 日期操作类代码
2018/05/05 Python
详解重置Django migration的常见方式
2019/02/15 Python
python绘制多个子图的实例
2019/07/07 Python
python 获取剪切板内容的两种方法
2020/11/28 Python
Python数据模型与Python对象模型的相关总结
2021/01/26 Python
使用Html5、CSS实现文字阴影效果
2018/01/17 HTML / CSS
美国受欢迎的眼影品牌:BH Cosmetics
2016/10/25 全球购物
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
用友笔试题目
2016/10/25 面试题
全国税务系统先进集体事迹材料
2014/05/19 职场文书
教师群众路线教育实践活动学习笔记
2014/11/05 职场文书
管理失职检讨书
2015/05/05 职场文书
党员进社区活动总结
2015/05/07 职场文书
宇宙与人观后感
2015/06/05 职场文书
二婚主持词
2015/06/30 职场文书
基于JavaScript实现省市联动效果
2021/06/22 Javascript
详细了解java监听器和过滤器
2021/07/09 Java/Android
python实现对doc、txt、xls等文档的读写操作
2022/04/02 Python