1. 程式人生 > 其它 >新增高階計算器功能

新增高階計算器功能

請注意頁面頂端多了個計算器。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的。