作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将字母序列分配给位掩码数值,如下所示
1: a
2: b
4: c
8: d
.....
2^25: z
我正在寻找一个可以帮助我推断转换的函数,当我选择 c 和 d 时,它应该返回一个数字 12。即 4+ 8。
我写了一个函数,可以从值中推导出字母,但我现在需要相反的过程,对此有什么帮助吗?我不太确定按位运算
例如,
var Mask = 5;
var String = "";
var index;
for (index = 0; index < 26; index++) {
if (Mask & (1 << index)) {
var letter = String.fromCharCode(65 + index);
String += driveLetter;
}
}
alert(String);
最佳答案
非常简单:
var mask = 0;
var string = "cd";
for (var i=0; i<string.length; i++) {
var c = string.charCodeAt(i) - 65;
if (i < 0 || i >= 26) throw new SyntaxError("invalid character: "+string[i]);
mask = mask | (1 << c); // 12
}
console.log(mask);
关于javascript - 如何使用位掩码将字母分配给数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33742050/
我是一名优秀的程序员,十分优秀!