<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns= "http://www.w3.org/1999/xhtml" ><head><meta http-equiv= "Content-Type" content= "text/html; charset=gb2312" /><title>科学计算器 </title></head>
<body><div id= "ArticleCnt" ><style type= "text/css" >P {FONT - SIZE : 9pt ; FONT - FAMILY : "Verdana"}TD {FONT - SIZE : 9pt ; LINE - HEIGHT : normal}A {FONT - SIZE : 9pt ; TEXT - TRANSFORM : none ; COLOR : #326969 ; TEXT - DECORATION : none}A :hover {FONT - SIZE : 9pt ; LEFT : 1px ; COLOR : #0000ff ; POSITION : relative ; TOP : 1px ; TEXT - DECORATION : none}BODY {FONT - SIZE : 9pt ; SCROLLBAR - ARROW - COLOR : #ffffff ; SCROLLBAR - BASE - COLOR : #cde0c2}.diary_tb {WIDTH : 100 % ; WORD - BREAK : break - all ; FONT - FAMILY : "Verdana" , "宋体" ; POSITION : relative ; TEXT - ALIGN : center ; WORD - WRAP : break - word}.diary_main {TABLE - LAYOUT : fixed ; BACKGROUND - POSITION : left top ; FONT - SIZE : 12px ; COLOR : #005782 ; WORD - BREAK : break - all ; LINE - HEIGHT : 24px ; FONT - FAMILY : "宋体" ; LINE - BREAK : strict ; HEIGHT : 2px ; TEXT - ALIGN : left}</style><script language= "JavaScript" type= "text/javascript" ><!--var endNumber = truevar mem = 0var carry = 10var hexnum = "0123456789abcdef"var angle = "d"var stack = ""var level = "0"var layer = 0//数字键function inputkey ( key ){var index = key . charCodeAt ( 0 );if (( carry == 2 && ( index == 48 || index == 49 ))|| ( carry == 8 && index >= 48 && index <= 55 )|| ( carry == 10 && ( index >= 48 && index <= 57 || index == 46 ))|| ( carry == 16 && (( index >= 48 && index <= 57 ) || ( index >= 97 && index <= 102 ))))if ( endNumber ){endNumber = falsedocument . calc . display . value = key}else if ( document . calc . display . value == null || document . calc . display . value == "0" )document . calc . display . value = keyelsedocument . calc . display . value += key}function changeSign (){if ( document . calc . display . value != "0" )if ( document . calc . display . value . substr ( 0 , 1 ) == "-" )document . calc . display . value = document . calc . display . value . substr ( 1 )elsedocument . calc . display . value = "-" + document . calc . display . value}//函数键function inputfunction ( fun , shiftfun ){endNumber = trueif ( document . calc . shiftf . checked )document . calc . display . value = decto ( funcalc ( shiftfun ,( todec ( document . calc . display . value , carry ))), carry )elsedocument . calc . display . value = decto ( funcalc ( fun ,( todec ( document . calc . display . value , carry ))), carry )document . calc . shiftf . checked = falsedocument . calc . hypf . checked = falseinputshift ()}function inputtrig ( trig , arctrig , hyp , archyp )
{if ( document . calc . hypf . checked )inputfunction ( hyp , archyp )elseinputfunction ( trig , arctrig )}//运算符function operation ( join , newlevel ){endNumber = truevar temp = stack . substr ( stack . lastIndexOf ( "(" ) + 1 ) + document . calc . display . valuewhile ( newlevel != 0 && ( newlevel <= ( level . charAt ( level . length - 1 )))){temp = parse ( temp )level = level . slice ( 0 , - 1 )}if ( temp . match ( /^(.*\d[\+\-\*\/\%\^\&\|x])?([+-]?[0-9a-f\.]+)$/ ))document . calc . display . value = RegExp . $2stack = stack . substr ( 0 , stack . lastIndexOf ( "(" ) + 1 ) + temp + joindocument . calc . operator . value = " " + join + " "level = level + newlevel}//括号function addbracket (){endNumber = truedocument . calc . display . value = 0stack = stack + "("document . calc . operator . value = " "level = level + 0layer += 1document . calc . bracket . value = "(=" + layer}function disbracket (){endNumber = truevar temp = stack . substr ( stack . lastIndexOf ( "(" ) + 1 ) + document . calc . display . valuewhile (( level . charAt ( level . length - 1 )) > 0 ){temp = parse ( temp )level = level . slice ( 0 , - 1 )}document . calc . display . value = tempstack = stack . substr ( 0 , stack . lastIndexOf ( "(" ))document . calc . operator . value = " "level = level . slice ( 0 , - 1 )layer -= 1if ( layer > 0 )document . calc . bracket . value = "(=" + layerelsedocument . calc . bracket . value = ""}//等号function result (){endNumber = truewhile ( layer > 0 )disbracket ()var temp = stack + document . calc . display . valuewhile (( level . charAt ( level . length - 1 )) > 0 ){temp = parse ( temp )level = level . slice ( 0 , - 1 )}document . calc . display . value = tempdocument . calc . bracket . value = ""document . calc . operator . value = ""stack = ""level = "0"}//修改键function backspace (){if ( ! endNumber ){if ( document . calc . display . value . length > 1 )document . calc . display . value = document . calc . display . value . substring ( 0 , document . calc . display . value . length - 1 )elsedocument . calc . display . value = 0}}function clearall (){document . calc . display . value = 0endNumber = truestack = ""level = "0"layer = ""document . calc . operator . value = ""document . calc . bracket . value = ""}//转换键function inputChangCarry ( newcarry ){endNumber = truedocument . calc . display . value = ( decto ( todec ( document . calc . display . value , carry ), newcarry ))carry = newcarrydocument . calc . sin . disabled = ( carry != 10 )document . calc . cos . disabled = ( carry != 10 )document . calc . tan . disabled = ( carry != 10 )document . calc . bt . disabled = ( carry != 10 )document . calc . pi . disabled = ( carry != 10 )document . calc . e . disabled = ( carry != 10 )document . calc . kp . disabled = ( carry != 10 )document . calc . k2 . disabled = ( carry <= 2 )document . calc . k3 . disabled = ( carry <= 2 )document . calc . k4 . disabled = ( carry <= 2 )document . calc . k5 . disabled = ( carry <= 2 )document . calc . k6 . disabled = ( carry <= 2 )document . calc . k7 . disabled = ( carry <= 2 )document . calc . k8 . disabled = ( carry <= 8 )document . calc . k9 . disabled = ( carry <= 8 )document . calc . ka . disabled = ( carry <= 10 )document . calc . kb . disabled = ( carry <= 10 )document . calc . kc . disabled = ( carry <= 10 )document . calc . kd . disabled = ( carry <= 10 )document . calc . ke . disabled = ( carry <= 10 )document . calc . kf . disabled = ( carry <= 10 )}function inputChangAngle ( angletype ){endNumber = trueangle = angletypeif ( angle == "d" )document . calc . display . value = radiansToDegress ( document . calc . display . value )elsedocument . calc . display . value = degressToRadians ( document . calc . display . value )endNumber = true}function inputshift (){if ( document . calc . shiftf . checked ){document . calc . bt . value = "deg "document . calc . ln . value = "exp "document . calc . log . value = "expd"if ( document . calc . hypf . checked ){document . calc . sin . value = "ahs "document . calc . cos . value = "ahc "document . calc . tan . value = "aht "}else{document . calc . sin . value = "asin"document . calc . cos . value = "acos"document . calc . tan . value = "atan"}document . calc . sqr . value = "x^.5"document . calc . cube . value = "x^.3"document . calc . floor . value = "小数"}else{document . calc . bt . value = "d.ms"document . calc . ln . value = " ln "document . calc . log . value = "log "if ( document . calc . hypf . checked ){document . calc . sin . value = "hsin"document . calc . cos . value = "hcos"document . calc . tan . value = "htan"}else{document . calc . sin . value = "sin "document . calc . cos . value = "cos "document . calc . tan . value = "tan "}document . calc . sqr . value = "x^2 "document . calc . cube . value = "x^3 "document . calc . floor . value = "取整"}}//存储器部分function clearmemory (){mem = 0document . calc . memory . value = " "}function getmemory (){endNumber = truedocument . calc . display . value = decto ( mem , carry )}function putmemory (){endNumber = trueif ( document . calc . display . value != 0 ){mem = todec ( document . calc . display . value , carry )document . calc . memory . value = " M "}elsedocument . calc . memory . value = " "}function addmemory (){endNumber = truemem = parseFloat ( mem ) + parseFloat ( todec ( document . calc . display . value , carry ))if ( mem == 0 )document . calc . memory . value = " "elsedocument . calc . memory . value = " M "}function multimemory (){endNumber = truemem = parseFloat ( mem ) * parseFloat ( todec ( document . calc . display . value , carry ))if ( mem == 0 )document . calc . memory . value = " "elsedocument . calc . memory . value = " M "}//十进制转换function todec ( num , oldcarry ){if ( oldcarry == 10 || num == 0 ) return ( num )var neg = ( num . charAt ( 0 ) == "-" )if ( neg ) num = num . substr ( 1 )var newnum = 0for ( var index = 1 ; index <= num . length ; index ++ )newnum = newnum * oldcarry + hexnum . indexOf ( num . charAt ( index - 1 ))if ( neg )newnum =- newnumreturn ( newnum )}function decto ( num , newcarry ){var neg = ( num < 0 )if ( newcarry == 10 || num == 0 ) return ( num )num = "" + Math . abs ( num )var newnum = ""while ( num != 0 ){newnum = hexnum . charAt ( num % newcarry ) + newnumnum = Math . floor ( num / newcarry )}if ( neg )newnum = "-" + newnumreturn ( newnum )}//表达式解析function parse ( string ){if ( string . match ( /^(.*\d[\+\-\*\/\%\^\&\|x\<])?([+-]?[0-9a-f\.]+)([\+\-\*\/\%\^\&\|x\<])([+-]?[0-9a-f\.]+)$/ ))return ( RegExp . $1 + cypher ( RegExp . $2 , RegExp . $3 , RegExp . $4 ))elsereturn ( string )}//数学运算和位运算function cypher ( left , join , right ){left = todec ( left , carry )right = todec ( right , carry )if ( join == "+" )return ( decto ( parseFloat ( left ) + parseFloat ( right ), carry ))if ( join == "-" )return ( decto ( left - right , carry ))if ( join == "*" )return ( decto ( left * right , carry ))if ( join == "/" && right != 0 )return ( decto ( left / right , carry ))if ( join == "%" )return ( decto ( left % right , carry ))if ( join == "&" )return ( decto ( left & right , carry ))if ( join == "|" )return ( decto ( left | right , carry ))if ( join == "^" )return ( decto ( Math . pow ( left , right ), carry ))if ( join == "x" )return ( decto ( left ^ right , carry ))if ( join == "<" )return ( decto ( left << right , carry ))alert ( "除数不能为零" )return ( left )}//函数计算function funcalc ( fun , num ){with ( Math ){if ( fun == "pi" )return ( PI )if ( fun == "e" )return ( E )if ( fun == "abs" )return ( abs ( num ))if ( fun == "ceil" )return ( ceil ( num ))if ( fun == "round" )return ( round ( num ))if ( fun == "floor" )return ( floor ( num ))if ( fun == "deci" )return ( num - floor ( num ))if ( fun == "ln" && num > 0 )return ( log ( num ))if ( fun == "exp" )return ( exp ( num ))if ( fun == "log" && num > 0 )return ( log ( num ) * LOG10E )if ( fun == "expdec" )return ( pow ( 10 , num ))if ( fun == "cube" )return ( num * num * num )if ( fun == "cubt" )return ( pow ( num , 1 / 3 ))if ( fun == "sqr" )return ( num * num )if ( fun == "sqrt" && num >= 0 )return ( sqrt ( num ))if ( fun == "!" )return ( factorial ( num ))if ( fun == "recip" && num != 0 )return ( 1 / num )if ( fun == "dms" )return ( dms ( num ))if ( fun == "deg" )return ( deg ( num ))if ( fun == "~" )return ( ~ num )if ( angle == "d" ){if ( fun == "sin" )return ( sin ( degressToRadians ( num )))if ( fun == "cos" )return ( cos ( degressToRadians ( num )))if ( fun == "tan" )return ( tan ( degressToRadians ( num )))if ( fun == "arcsin" && abs ( num ) <= 1 )return ( radiansToDegress ( asin ( num )))if ( fun == "arccos" && abs ( num ) <= 1 )return ( radiansToDegress ( acos ( num )))if ( fun == "arctan" )return ( radiansToDegress ( atan ( num )))}else{if ( fun == "sin" )return ( sin ( num ))if ( fun == "cos" )return ( cos ( num ))if ( fun == "tan" )return ( tan ( num ))if ( fun == "arcsin" && abs ( num ) <= 1 )return ( asin ( num ))if ( fun == "arccos" && abs ( num ) <= 1 )return ( acos ( num ))if ( fun == "arctan" )return ( atan ( num ))}if ( fun == "hypsin" )return (( exp ( num ) - exp ( 0 - num )) * 0.5 )if ( fun == "hypcos" )return (( exp ( num ) + exp ( - num )) * 0.5 )if ( fun == "hyptan" )return (( exp ( num ) - exp ( - num )) / ( exp ( num ) + exp ( - num )))if ( fun == "ahypsin" | fun == "hypcos" | fun == "hyptan" ){alert ( "对不起,公式还没有查到!" )return ( num )}alert ( "超出函数定义范围" )return ( num )}}function factorial ( n ){n = Math . abs ( parseInt ( n ))var fac = 1for (; n > 0 ; n -= 1 )fac *= nreturn ( fac )}function dms ( n ){var neg = ( n < 0 )with ( Math ){n = abs ( n )var d = floor ( n )var m = floor ( 60 * ( n - d ))var s = ( n - d ) * 60 - m}var dms = d + m / 100 + s * 0.006if ( neg )dms =- dmsreturn ( dms )}function deg ( n ){var neg = ( n < 0 )with ( Math ){n = abs ( n )var d = floor ( n )var m = floor (( n - d ) * 100 )var s = ( n - d ) * 100 - m}var deg = d + m / 60 + s / 36if ( neg )deg =- degreturn ( deg )}function degressToRadians ( degress ){return ( degress * Math . PI / 180 )}function radiansToDegress ( radians ){return ( radians * 180 / Math . PI )}//界面//--></script><div id= "AutoNumber5" align= "center" ><form name= "calc" id= "calc" ><table height= "250" width= "500" border= "0" ><tbody><tr><td bgcolor= "#ecf4ec" height= "50" ><table width= "500" ><tbody><tr><td width= "486" ><div align= "center" ><input readonly= "readOnly"size= "67" value= "0"name= "display" /></div></td></tr></tbody></table></td></tr><tr><td bgcolor= "#ecf4ec" ><table width= "500" ><tbody><tr><td width= "290" ><inputοnclick= "inputChangCarry(16)" type= "radio" name= "carry" />十六进制<input οnclick= "inputChangCarry(10)" type= "radio" checked= "checked"name= "carry" />十进制<input οnclick= "inputChangCarry(8)"type= "radio" name= "carry" />八进制<inputοnclick= "inputChangCarry(2)" type= "radio" name= "carry" />二进制 </td><td></td><td width= "135" ><inputοnclick= "inputChangAngle('d')" type= "radio" checked= "checked"value= "d" name= "angle" />角度制<inputοnclick= "inputChangAngle('r')" type= "radio" value= "r"name= "angle" />弧度制 </td></tr></tbody></table><table width= "500" ><tbody><tr><td width= "170" ><inputοnclick= "inputshift()" type= "checkbox" value= "ON"name= "shiftf" />上档功能<input οnclick= "inputshift()"type= "checkbox" value= "ON" name= "hypf" />双曲函数 </td><td><inputstyle= "BACKGROUND-COLOR: lightgrey" readonly= "readOnly" size= "3"name= "bracket" /><input style= "BACKGROUND-COLOR: lightgrey"readonly= "readOnly" size= "3" name= "memory" /><inputstyle= "BACKGROUND-COLOR: lightgrey" readonly= "readOnly" size= "3"name= "operator" /></td><td width= "183" ><input name= "button" type= "button" style= "COLOR: red" οnclick= "backspace()" value= " 退格 " /><input name= "button" type= "button" style= "COLOR: red" οnclick= "document.calc.display.value = 0 " value= " 清屏 " /><input name= "button" type= "button" style= "COLOR: red" οnclick= "clearall()" value= " 全清" /></td></tr></tbody></table><table width= "500" ><tbody><tr><td><table><tbody><tr align= "middle" ><td><input style= "COLOR: blue" οnclick= "inputfunction('pi','pi')" type= "button" value= " PI " name= "pi" /></td><td><input style= "COLOR: blue" οnclick= "inputfunction('e','e')" type= "button" value= " E " name= "e" /></td><td><input style= "COLOR: #ff00ff" οnclick= "inputfunction('dms','deg')" type= "button" value= "d.ms" name= "bt" /></td></tr><tr align= "middle" ><td><input name= "button" type= "button" style= "COLOR: #ff00ff" οnclick= "addbracket()" value= " ( " /></td><td><input name= "button" type= "button" style= "COLOR: #ff00ff" οnclick= "disbracket()" value= " ) " /></td><td><input style= "COLOR: #ff00ff" οnclick= "inputfunction('ln','exp')" type= "button" value= " ln " name= "ln" /></td></tr><tr align= "middle" ><td><input style= "COLOR: #ff00ff" οnclick= "inputtrig('sin','arcsin','hypsin','ahypsin')" type= "button" value= "sin " name= "sin" /></td><td><input name= "button" type= "button" style= "COLOR: #ff00ff" οnclick= "operation('^',7)" value= "x^y " /></td><td><input style= "COLOR: #ff00ff" οnclick= "inputfunction('log','expdec')" type= "button" value= "log " name= "log" /></td></tr><tr align= "middle" ><td><input style= "COLOR: #ff00ff" οnclick= "inputtrig('cos','arccos','hypcos','ahypcos')" type= "button" value= "cos " name= "cos" /></td><td><input style= "COLOR: #ff00ff" οnclick= "inputfunction('cube','cubt')" type= "button" value= "x^3 " name= "cube" /></td><td><input name= "button" type= "button" style= "COLOR: #ff00ff" οnclick= "inputfunction('!','!')" value= " n! " /></td></tr><tr align= "middle" ><td><input style= "COLOR: #ff00ff" οnclick= "inputtrig('tan','arctan','hyptan','ahyptan')" type= "button" value= "tan " name= "tan" /></td><td><input style= "COLOR: #ff00ff" οnclick= "inputfunction('sqr','sqrt')" type= "button" value= "x^2 " name= "sqr" /></td><td><input name= "button" type= "button" style= "COLOR: #ff00ff" οnclick= "inputfunction('recip','recip')" value= "1/x " /></td></tr></tbody></table></td><td width= "30" ></td><td><table><tbody><tr><td><input name= "button" type= "button" style= "COLOR: red" οnclick= "putmemory()" value= " 储存 " /></td></tr><tr><td><input name= "button" type= "button" style= "COLOR: red" οnclick= "getmemory()" value= " 取存 " /></td></tr><tr><td><input name= "button" type= "button" style= "COLOR: red" οnclick= "addmemory()" value= " 累存 " /></td></tr><tr><td><input name= "button" type= "button" style= "COLOR: red" οnclick= "multimemory()" value= " 积存 " /></td></tr><tr><td height= "33" ><input name= "button" type= "button" style= "COLOR: red" οnclick= "clearmemory()" value= " 清存 " /></td></tr></tbody></table></td><td width= "30" ></td><td><table><tbody><tr align= "middle" ><td><input style= "COLOR: blue" οnclick= "inputkey('7')" type= "button" value= " 7 " name= "k7" /></td><td><input style= "COLOR: blue" οnclick= "inputkey('8')" type= "button" value= " 8 " name= "k8" /></td><td><input style= "COLOR: blue" οnclick= "inputkey('9')" type= "button" value= " 9 " name= "k9" /></td><td><input name= "button" type= "button" style= "COLOR: red" οnclick= "operation('/',6)" value= " / " /></td><td><input name= "button" type= "button" style= "COLOR: red" οnclick= "operation('%',6)" value= "取余" /></td><td><input name= "button" type= "button" style= "COLOR: red" οnclick= "operation('&',3)" value= " 与 " /></td></tr><tr align= "middle" ><td><input style= "COLOR: blue" οnclick= "inputkey('4')" type= "button" value= " 4 " name= "k4" /></td><td><input style= "COLOR: blue" οnclick= "inputkey('5')" type= "button" value= " 5 " name= "k5" /></td><td><input style= "COLOR: blue" οnclick= "inputkey('6')" type= "button" value= " 6 " name= "k6" /></td><td><input name= "button" type= "button" style= "COLOR: red" οnclick= "operation('*',6)" value= " * " /></td><td><input style= "COLOR: red" οnclick= "inputfunction('floor','deci')" type= "button" value= "取整" name= "floor" /></td><td><input name= "button" type= "button" style= "COLOR: red" οnclick= "operation('|',1)" value= " 或 " /></td></tr><tr align= "middle" ><td><input name= "button" type= "button" style= "COLOR: blue" οnclick= "inputkey('1')" value= " 1 " /></td><td><input style= "COLOR: blue" οnclick= "inputkey('2')" type= "button" value= " 2 " name= "k2" /></td><td><input style= "COLOR: blue" οnclick= "inputkey('3')" type= "button" value= " 3 " name= "k3" /></td><td><input name= "button" type= "button" style= "COLOR: red" οnclick= "operation('-',5)" value= " - " /></td><td><input name= "button" type= "button" style= "COLOR: red" οnclick= "operation('<',4)" value= "左移" /></td><td><input name= "button" type= "button" style= "COLOR: red" οnclick= "inputfunction('~','~')" value= " 非 " /></td></tr><tr align= "middle" ><td><input name= "button" type= "button" style= "COLOR: blue" οnclick= "inputkey('0')" value= " 0 " /></td><td><input name= "button" type= "button" style= "COLOR: blue" οnclick= "changeSign()" value= "+/-" /></td><td><input style= "COLOR: blue" οnclick= "inputkey('.')" type= "button" value= " . " name= "kp" /></td><td><input name= "button" type= "button" style= "COLOR: red" οnclick= "operation('+',5)" value= " + " /></td><td><input name= "button" type= "button" style= "COLOR: red" οnclick= "result()" value= " = " /></td><td><input name= "button" type= "button" style= "COLOR: red" οnclick= "operation('x',2)" value= "异或" /></td></tr><tr align= "middle" ><td><input style= "COLOR: blue" disabled= "disabled" οnclick= "inputkey('a')" type= "button" value= " A " name= "ka" /></td><td><input style= "COLOR: blue" disabled= "disabled" οnclick= "inputkey('b')" type= "button," value= " B " name= "kb" /></td><td><input style= "COLOR: blue" disabled= "disabled" οnclick= "inputkey('c')" type= "button" value= " C " name= "kc" /></td><td><input style= "COLOR: blue" disabled= "disabled" οnclick= "inputkey('d')" type= "button" value= " D " name= "kd" /></td><td><input style= "COLOR: blue" disabled= "disabled" οnclick= "inputkey('e')" type= "button" value= " E " name= "ke" /></td><td><input style= "COLOR: blue" disabled= "disabled" οnclick= "inputkey('f')" type= "button" value= " F " name= "kf" /></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></form></div>
</div></body></html> <!--[if !IE]>|xGv00|434d00213707f3a7f83250d9d25167b0<![endif]-->
网页科学计算器
最新推荐文章于 2023-09-23 22:59:27 发布