- 192.168.1.1 转换为整数形式 ,leetcode原题 没写完全 位运算搞不明白 参考这位大佬的写法
// 先把点分十进制IP转化为32位二进制, 之后转化为十进制
function ipToInt(ip) {
// 将IP地址拆分为四个整数
const ipArray = ip.split(".").map(Number);
// 确保IP地址的有效性
if(ipArray.length !== 4 || ipArray.some(num=>isNaN(num) || num < 0 || num > 255)){
throw new Error('Invalid IP address format');
}
// 计算整数表示
const intRepresentation = (ipArray[0] << 24) | (ipArray[0] << 16) | (ipArray[0] << 8) | ipArray[3];
return intRepresentation >>> 0; // 确保结果为无符号整数
}
// 示例
const ipAddress = '192.168.1.1';
const result = ipToInt(ipAddress);
console.log(result);
作者:游侠瑞 链接:juejin.cn/post/734644… 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
- 将 num= 300 转为八进制
let num =300
num=num.toString(8)*1
- 不使用第三个变量进行变量交换
// es6新特性
let a=10 b=20
[a,b]=[b,a]
// 或者
a = [b,b=a][0]
每到题应该都有2种以上的方法,欢迎大佬们分享解题思路~~~