特定位取反(js实现)
来源:互联网 发布:jboss 数据库jndi配置 编辑:程序博客网 时间:2024/05/20 05:28
去华为面试的时候,没有做好准备工作;面试的流程没有问清也没有查,结果一过去就让上机做题,着实有点措手不及。笔者是擅长前端的Java Web工程师啊,基本的底层编程知识早已生疏了。机试题碰到了这道位运算的题目,按理说是非常简单的,原理笔者也很清楚,但是由于实在是好多年没有搞过位运算了,Java位运算更是没有操作过,所以结果实在是不体面……
机试时间规定是一个小时,语言可选C或Java还有个什么脚本语言,笔者花了将近三个小时,才用Java勉强把题做出来了,惭愧惭愧……回来就用JS重新实现了一个简单版本,今天整理贴出来。
题目是:循环输入每组两个数hex和n(0<=n<31),hex是一个16进制的数字,我们要做的是将hex的第n位取反,然后以16进制的形式输出对应的结果。
笔者折腾两个多小时的过程就不再赘述了,这里给出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<31的简单情况(第31位是符号位)。
2 0
- 特定位取反(js实现)
- JS----特定字符(手机号,电话...)验证
- js window.print实现打印特定控件或内容
- js删除特定节点
- 使用window.print()打印特定区域的JS代码
- js倒计时(每个小时特定时间抽奖)
- Java编程___File各类方法使用(实现拷贝特定文件至特定目录下)
- DBGridEh实现特定颜色
- 基于外部一个省市联动js框架,实现初始化特定的地址级联
- js倒计时 每小时特定开奖
- strlen()和swap() 两个函数的实现(特定条件下)。
- python提取网页的特定内容(正则表达式实现)
- 用JavaCard实现特定需求
- Struts2实现特定文件下载
- Dynamic CRM 2016使用WEB API FetchXml查询特定记录(js)
- JS复制特定内容到粘贴板
- JS 文本框光标处插入特定字符
- JS显示特定格式的日期时间
- 对printf() 函数重新认识
- "launching delegate..." 停在 27%...
- zlg的imx283里的makefile
- 用JavaScript面向对象
- 标记 X86和arm比较
- 特定位取反(js实现)
- ubuntu下硬盘无损分区移动修改工具
- jsp 产生json数据
- 第四周作业
- fedora下安装vmware workstation
- 0x0F1AFD76 (libcocos2d.dll) (Plane.exe 中)处有未经处理的异常: 0xC0000005: 读取位置 0x00000018 时发生访问冲突。
- 一个因为全角和半角空格引发的bug
- 去掉INPUT输入时的框
- Tx安全技术笔试题总结