第二章
- 1 .對于跨越多字節(jié)的程序?qū)ο笄覀儽仨毥蓚€規(guī)則
- 這個對象的地址是什么
- 在內(nèi)存中如何排列這些字節(jié)
- 對于現(xiàn)在的大多數(shù)機器來說,多字節(jié)對象都被儲存為連續(xù)的字節(jié)序列削饵,對象的地址直接使用字節(jié)中最小的地址亭畜。
- 2 .一般而言對于程序的地址通行的標準有兩種,即為大端法和小端法糯景,現(xiàn)在的處理器大部分都可以支持從大端或者小端任意開始。
但是具體的使用會根據(jù)操作系統(tǒng)來進行變換省骂,ios和安卓使用的是小端法蟀淮,而絕大多數(shù)的Intel處理器也同樣使用小端法,但是仍然存在有使用大端法的機器钞澳。
所以當進行數(shù)據(jù)內(nèi)存?zhèn)鬏數(shù)臅r候怠惶,防止地址倒裝現(xiàn)象, 所以一般而言都需要遵循網(wǎng)絡(luò)通信標準來傳輸內(nèi)存轧粟。
IEEE浮點數(shù)
由于基礎(chǔ)的運用二進制來進行表示浮點數(shù)的方式在面對非常大的數(shù)或者非常小的數(shù)的時候會產(chǎn)生非常大的計算浪費策治,哪怕只是兩個位數(shù)相距相對大的數(shù)都會造成這樣的影響,因此IEEE制定了一個標準兰吟,分別使用32位和64位精度來劃分浮點數(shù)通惫,也就是通常所指的單精度和雙精度,主要的差別在于他們其中對于數(shù)值的表示方法存在差別混蔼,尾數(shù)(有效數(shù)字)就會存在差別
- float占用為1個符號位履腋,8個指數(shù)位,23個尾數(shù)位惭嚣,也就是說float的有效數(shù)字應該到2的23次方也就是7位遵湖,能夠保證的精確有效位是6位,數(shù)據(jù)范圍應該在-2128~2128
- double占用為1個符號位晚吞,11個指數(shù)位延旧,52個尾數(shù)位,有效數(shù)字應該在15~16個數(shù)據(jù)范圍因為指數(shù)位多了三位槽地,覆蓋的數(shù)據(jù)范圍就是float的8倍