javascript的二进制、八进制、十六进制表示和相互转换

//二进制0b开头
//八进制0开头
//十六进制0x开头

<script>
//二进制0b开头
//八进制0开头
//十六进制0x开头

var a = 0b10;
var b = 070;
var c = 0x36;

//输出自动转换成十进制数
document.write(a);
document.write(b);
document.write(c);
</script>

可以用parseInt(var1,var2)指定进制输出,var2表示进制数

var  a = 23;

a = parseInt(a,2); //二进制输出

不兼容问题:针对"050"这种,调用parseInt("050")函数,有些浏览器会当8进制解析,有些浏览器会当10进制解析。

解决方法:例子

var a = "050";

a = parseInt(a,10); //十进制输出

a = parseInt(a,8);   //八进制输出

 

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,这个多功能计算器需要支持以下功能: 1. 四则运算(加、减、乘、除) 2. 取余(模运算) 3. 乘方运算 4. 正弦、余弦、正切、余切运算 5. 转换二进制、八十六进制 以下是我编写的代码,希望能够满足你的需求: ```javascript // 获取页面元素 const input = document.querySelector('#input') const output = document.querySelector('#output') const buttons = document.querySelectorAll('button') // 定义变量 let num1 = '' let num2 = '' let operator = '' let lastOperator = '' let lastValue = '' let decimal = false // 计算函数 function calculate() { let result switch (operator) { case '+': result = parseFloat(num1) + parseFloat(num2) break case '-': result = parseFloat(num1) - parseFloat(num2) break case '*': result = parseFloat(num1) * parseFloat(num2) break case '/': result = parseFloat(num1) / parseFloat(num2) break case '%': result = parseFloat(num1) % parseFloat(num2) break case '^': result = Math.pow(parseFloat(num1), parseFloat(num2)) break default: return } // 显示计算结果 output.value = result // 重置变量 num1 = result num2 = '' lastOperator = operator lastValue = output.value decimal = false } // 添加事件监听器 buttons.forEach(button => { button.addEventListener('click', () => { const value = button.getAttribute('data-value') // 处理数字输入 if (!isNaN(value) || value === '.') { if (decimal && value === '.') { return } if (!num2) { num1 += value } else { num2 += value } if (value === '.') { decimal = true } output.value += value } // 处理运算符 if (['+', '-', '*', '/', '%', '^'].includes(value)) { if (num2) { calculate() } operator = value output.value += value decimal = false } // 处理清除按钮 if (value === 'clear') { num1 = '' num2 = '' operator = '' lastOperator = '' lastValue = '' decimal = false output.value = '' } // 处理等于按钮 if (value === 'equals') { if (!num2) { num2 = lastValue } calculate() } // 处理转换按钮 if (['bin', 'oct', 'hex'].includes(value)) { let result switch (value) { case 'bin': result = parseInt(output.value, 10).toString(2) break case 'oct': result = parseInt(output.value, 10).toString(8) break case 'hex': result = parseInt(output.value, 10).toString(16) break default: return } output.value = result num1 = result num2 = '' lastOperator = '' lastValue = result decimal = false } // 处理正弦、余弦、正切、余切运算 if (['sin', 'cos', 'tan', 'cot'].includes(value)) { let result switch (value) { case 'sin': result = Math.sin(parseFloat(output.value)) break case 'cos': result = Math.cos(parseFloat(output.value)) break case 'tan': result = Math.tan(parseFloat(output.value)) break case 'cot': result = 1 / Math.tan(parseFloat(output.value)) break default: return } output.value = result num1 = result num2 = '' lastOperator = '' lastValue = result decimal = false } }) }) ``` 你可以将这段代码复到你的微信小程序中,然后根据自己的需要行一些样式和布局的调整,这个多功能计算器就可以使用了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值