php网站开发实例教程 源码,大连牛人网络推广有限公司,wordpress怎么static,合肥做一个网站要多少钱目录
1,题目
2#xff0c;代码
2.1转换进制数
2.2模拟加法
3#xff0c;学习与总结
Math.floor()
模拟加法思路回顾 重点复习巩固 模拟加法的思路和学习位运算#xff1b;
今天没精力了#xff0c;先休息 1,题目
给你两个二进制字符串 a 和 b #xff0c;以二进制…目录
1,题目
2代码
2.1转换进制数
2.2模拟加法
3学习与总结
Math.floor()
模拟加法思路回顾 重点复习巩固 模拟加法的思路和学习位运算
今天没精力了先休息 1,题目
给你两个二进制字符串 a 和 b 以二进制字符串的形式返回它们的和。 2代码
2.1转换进制数 0b${a}这是一个模板字符串用于构建字符串字面量。在这里0b是一个前缀指示随后的数字是二进制格式的。${a}是模板字符串中的插值表达式它会被变量a的值替换。假设a的值是1010那么表达式0b${a}的结果将是字符串0b1010。BigInt(...)BigInt函数接受一个字符串或数字参数并返回相应的大整数(BigInt)值。当给定的字符串以0b、0o或0x为前缀时分别表示该字符串是二进制、八进制或十六进制数BigInt函数会相应地解析这些字符串为大整数。 因此当你执行BigInt(0b${a})时JavaScript首先计算模板字符串0b${a}得到一个形如0b1010的字符串表示二进制数。然后BigInt函数将这个字符串解析为一个BigInt类型的大整数值。 这种方法允许你从二进制字符串直接创建一个BigInt值而不需要先将字符串转换为十进制数。这在处理大型二进制数据时特别有用因为它避免了数值的范围限制和精度问题。 toString(2)是一个非常有用的方法用于将数字转换成其二进制字符串表示形式。这里的2是.toString()方法的参数指定了转换的基数radix在这种情况下是二进制base-2。基数可以是介于2到36之间的任何整数允许你将数字转换为不同的数制表示例如十进制、十六进制等。 /*** param {string} a* param {string} b* return {string}*/var addBinary function(a, b) {const num1 BigInt(0b${a});const num2 BigInt(0b${b});return (num1 num2).toString(2);};
2.2模拟加法 Math.floor()将一个指定的数值向下取整到最接近的整数。这意味着Math.floor()会返回小于或等于给定参数的最大整数。 /*** param {string} a* param {string} b* return {string}*/var addBinary function(a, b) {let ans [];let n Math.max(a.length,b.length);// 记录上一位的进位数值let carry 0;for(let i 0;in;i){// 先反转这个代表二进制数字的字符串// 从而低下标对应低位高下标对应高位。carry i a.length ? parseInt(a.charAt(a.length-1-i)) : 0;carry i b.length ? parseInt(b.charAt(b.length-1-i)) : 0;ans.push(carry % 2);carry Math.floor(carry/2);}if(carry 0){ans.push(1);}// 将数组进行翻转 并将数组转换为字符串return ans.reverse().join();};
3学习与总结
Math.floor()
console.log(Math.floor(5.95)); // 输出: 5
console.log(Math.floor(5.05)); // 输出: 5
console.log(Math.floor(5)); // 输出: 5
console.log(Math.floor(-5.05)); // 输出: -6模拟加法思路回顾
思考点让各个位置对齐可以先反转这个代表二进制数字的字符串则 数组底下标对应低位数数组高下标对应高位数
核心代码
carry i a.length ? parseInt(a.charAt(a.length-1-i)) : 0;
carry i b.length ? parseInt(b.charAt(b.length-1-i)) : 0;
ans.push(carry % 2);carry Math.floor(carry/2); 记当前位置对其的两个位为 ai和 bi 则 每一位的答案为 (carryaibi) mod 2下一位的进位为 ⌊(carryaibi)/2 ⌋。 作者力扣官方题解