摘要:類型兩個(gè)字節(jié)為一個(gè)類型雙精度位可以表示個(gè)數(shù)正無(wú)窮負(fù)無(wú)窮正數(shù)雙精度位位符號(hào)位位指數(shù)位位小數(shù)位或正負(fù)無(wú)窮指數(shù)位全為位是指數(shù)位全為位不全為被位符號(hào)位位位控制,位不變,應(yīng)該有種,但是不同的總共,指數(shù)位全為位全為指數(shù)位全為,不全為表示
typeof類型:
"undefined" "object" "number" "string":utf-16兩個(gè)字節(jié)為一個(gè)unite "boolean" "function"
number類型: 雙精度64位
可以表示2^64-2^53+3個(gè)數(shù)
1)正無(wú)窮 負(fù)無(wú)窮 2)0,-0 3)正數(shù) 4)NaN
雙精度64位
63 62…….52 51 20 ……0 1 11111111 1111…1111 1位符號(hào)位sign + 11位指數(shù)位e + 52位小數(shù)位f S*E*F S=(-1)^sign……(-1)^0或(-1)^1 1)正負(fù)無(wú)窮:11指數(shù)位全為1,52位是0 2)NaN: 11指數(shù)位全為1,52位不全為0 1)+2)=3(被1位符號(hào)位 52位f位控制,E位不變,應(yīng)該有2^53種,但是不同的nan) 總共=2^64-2^53+3 3)0,-0: 11指數(shù)位全為0,52位全為0 4)11指數(shù)位全為0,f不全為0:denormal 表示0~1之間的數(shù),不包括1,不包括0 E=2^(-1022); F=0.52位二進(jìn)制 =0+b(52-1)*2^(-1)+…b(0-52) *2^-52 =0+1/2+1/4+1/8+…+1/2^52(f全為1的例子); 0~1之間很小的間距,指數(shù)E與normal情況下最小E一致,2^(1-1023)=2^-1022 每?jī)蓚€(gè)小數(shù)之間的差最小為=比如f位只有一個(gè)1與f位為0(非denormal值)的差 =1*2^-1022*(0+2^-52) - 1*2^-1022 * (0+0) =2^-1074 denormal最小值=1*2^-1022*(0+2^-52)=2^-1074 5)11指數(shù)位有0有1:normal 表示>=1的數(shù) E=2^(e-1023); e=b(52+0) * 2^0+b(52+1) *2^1+…+b(52+7)*2^10 F=1.52位二進(jìn)制 =1+b(52-1)*2^(-1)+…b(0-52) *2^-52 =1+1/2+1/4+1/8+…+1/2^52(f全為1的例子); normal最小值=1*2^(1-1023)*(1+0)=2^-1022;
單精度32位(假如JS用單精度32位表示number,情況如下)
31 30…….23 22 21 ……0 1 11111111 1111…1111 1位符號(hào)位sign+8位指數(shù)位e+23位小數(shù)位f S*E*F S=(-1)^sign……(-1)^0或(-1)^1 1)正負(fù)無(wú)窮:8指數(shù)位全為1,23位是0 2)NaN: 8指數(shù)位全為1,23位不全為0 1)+2)=3(被1位符號(hào)位 23位f位控制,E位不變,應(yīng)該有2^24種,但是不同的nan) 總共=2^32-2^24+3 3)0,-0: 8指數(shù)位全為0,23位全為0 4)8指數(shù)位全為0,f不全為0:denormal 表示0~1之間的數(shù),不包括1,不包括0 E=2^(-126); F=0.23位二進(jìn)制 =0+b(23-1)*2^(-1)+…b(0-23) *2^-23 =0+1/2+1/4+1/8+…+1/2^23(f全為1的例子); 0~1之間很小的間距,指數(shù)E與normal情況下最小E一致,2^(1-127)=2^-126 每?jī)蓚€(gè)小數(shù)之間的差最小為=比如f位只有一個(gè)1與f位為0(非denormal值)的差 =1*2^-126*(0+2^-23) - 1*2^-126 * (0+0) =2^-149 denormal最小值=1*2^-126*(0+2^-23)=2^-149 5)8指數(shù)位有0有1:normal 表示>=1的數(shù) E=2^(e-127); e=b(23+0) * 2^0+b(23+1) *2^1+…+b(23+7)*2^7 F=1.23位二進(jìn)制 =1+b(23-1)*2^(-1)+…b(0-23) *2^-23 =1+1/2+1/4+1/8+…+1/2^23(f全為1的例子); normal最小值=1*2^(1-127)*(1+0)=2^-126;
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/81258.html
摘要:如題先陳述下問(wèn)題背景偶爾測(cè)測(cè)自己寫的計(jì)算器,隨便輸入玩嘛,然后發(fā)生下面詭異的事情當(dāng)我從一個(gè)輸入到十個(gè)的時(shí)候,過(guò)程顯示都是正確的,像這樣繼續(xù)輸入一個(gè)的時(shí)候,然后就這個(gè)樣子了什么原因呢看了下自己的代碼,代碼重要部分長(zhǎng)這樣的這里用了一下強(qiáng)制轉(zhuǎn)化為 如題 先陳述下問(wèn)題背景 偶爾測(cè)測(cè)自己寫的計(jì)算器,隨便輸入玩嘛,然后發(fā)生下面詭異的事情:當(dāng)我從一個(gè) 1 輸入到十個(gè) 1 的時(shí)候,過(guò)程顯示都是正確的...
摘要:而的浮點(diǎn)數(shù)設(shè)置的偏移值是,因?yàn)橹笖?shù)域表現(xiàn)為一個(gè)非負(fù)數(shù),位,所以,實(shí)際的,所以。這是因?yàn)樗鼈冊(cè)谵D(zhuǎn)為二進(jìn)制時(shí)要舍入部分的不同可能造成的不同舍 IEEE 754 表示:你盡管抓狂、罵娘,但你能完全避開我,算我輸。 一、IEEE-754浮點(diǎn)數(shù)捅出的那些婁子 首先我們還是來(lái)看幾個(gè)簡(jiǎn)單的問(wèn)題,能說(shuō)出每一個(gè)問(wèn)題的細(xì)節(jié)的話就可以跳過(guò)了,而如果只能泛泛說(shuō)一句因?yàn)镮EEE754浮點(diǎn)數(shù)精度問(wèn)題,那么下文還是...
摘要:前言在數(shù)據(jù)敏感的業(yè)務(wù)場(chǎng)景中,常常會(huì)碰到數(shù)據(jù)精度問(wèn)題,尤其在金額顯示占比統(tǒng)計(jì)等地方,該問(wèn)題尤為顯著。計(jì)算機(jī)原理真香數(shù)值的精度問(wèn)題,其實(shí)是非?;A(chǔ)的計(jì)算機(jī)原理知識(shí)。前言 在數(shù)據(jù)敏感的業(yè)務(wù)場(chǎng)景中,常常會(huì)碰到數(shù)據(jù)精度問(wèn)題,尤其在金額顯示、占比統(tǒng)計(jì)等地方,該問(wèn)題尤為顯著。由于數(shù)據(jù)的每一位有效數(shù)字都包含真實(shí)的業(yè)務(wù)語(yǔ)義,一點(diǎn)點(diǎn)偏差甚至可能影響業(yè)務(wù)決策,這讓問(wèn)題的嚴(yán)重性上升了幾個(gè)階梯。 那,什么是精度丟失...
摘要:本文通過(guò)介紹的二進(jìn)制存儲(chǔ)標(biāo)準(zhǔn)來(lái)理解浮點(diǎn)數(shù)運(yùn)算精度問(wèn)題,和理解對(duì)象的等屬性值是如何取值的,最后介紹了一些常用的浮點(diǎn)數(shù)精度運(yùn)算解決方案。浮點(diǎn)數(shù)精度運(yùn)算解決方案關(guān)于浮點(diǎn)數(shù)運(yùn)算精度丟失的問(wèn)題,不同場(chǎng)景可以有不同的解決方案。 本文由云+社區(qū)發(fā)表 相信大家在平常的 JavaScript 開發(fā)中,都有遇到過(guò)浮點(diǎn)數(shù)運(yùn)算精度誤差的問(wèn)題,比如 console.log(0.1+0.2===0.3)// fa...
摘要:的二進(jìn)制科學(xué)計(jì)數(shù)法第位是,所以就有了下面的結(jié)果有著同樣的問(wèn)題,其實(shí)正是由于這樣的存儲(chǔ),在這里有了精度丟失,導(dǎo)致了。最大安全數(shù)字中表示最大安全數(shù)字計(jì)算結(jié)果是,即在這個(gè)數(shù)范圍內(nèi)不會(huì)出現(xiàn)精度丟失小數(shù)除外這個(gè)數(shù)實(shí)際上是。是一個(gè)任意精度的整數(shù)。 話不多說(shuō),先上代碼 function judgeFloat(n, m) { const binaryN = n.toString(2...
閱讀 2826·2023-04-26 02:00
閱讀 2786·2019-08-30 15:54
閱讀 877·2019-08-30 11:15
閱讀 1512·2019-08-29 15:31
閱讀 926·2019-08-29 14:12
閱讀 499·2019-08-29 13:08
閱讀 851·2019-08-27 10:51
閱讀 2719·2019-08-26 12:17