新增高级计算器功能

请注意页面顶端多了个计算器。16进制用0x12这样的形式输入——C语法,但显示为12h,省一个字母。

可以先x=1,计算,再x+1,计算。有近乎无穷个暂存器。

<p style='margin-bottom:1em'>
<input type=text id=calcexpr size=80 style='font:10pt mono;padding:2px' value='2-3'></input>&nbsp;
<button id=calc onclick='calc()' style='font:10.5pt mono'>计算</button>&nbsp;
<button id=calc onclick='calcexpr.value=""' style='font:10.5pt mono'>清除</button>&nbsp;
<button id=calc onclick='calchelp()' style='font:10.5pt mono'>帮助</button>
</p>
<script>
function calc() {
    var s = calcexpr.value
    var r = eval(s)
    var    t = ((r >> 16) & 0x0000ffff).toString(16) + (r & 0x0000ffff).toString(16) + 'h'
    s += '=' + r + ', ' + t + ', '
    var    prev = 0
    function d(b) { if (b) prev = 1; return prev ? (b ? '1' : 0) : '' }
    s += d(r & 0x80000000)
    for (mask = 0x40000000; mask != 0; mask >>= 1) s += d(r & mask)
    calcexpr.value = s + 'b'
}
function calchelp() {    calcexpr.value = 'C语法。乘方是**' }
</script>

如果有人想要的话,所有的代码拿走别客气。可以查看源代码再复制。当然你得请博客园管理员给你开JS权限。他们挺nice的。

上一篇:3.2  Spec规约


下一篇:HTML表格