四个字节的浮点数与八个字节的整数表示范围大小的对比
八個(gè)字節(jié)整數(shù)表示的數(shù)值范圍:
八個(gè)字節(jié)共64位,最左邊位符號(hào)位占1bit,后面數(shù)字位占63bit,可表示的數(shù)值范圍,1111...1111(1后面63個(gè)1)~0111...1111(0后面63個(gè)1),63個(gè)1是多大的數(shù)呢?
換算成十進(jìn)制就是(2^62+2^61+...+2^1+2^0),這樣表示太過(guò)麻煩,我們可以換一種方式考慮。
對(duì)于二進(jìn)制來(lái)說(shuō),有以下規(guī)律:
10?-1=1;
100-11=1;
1000-111=1;
...
以此類(lèi)推:1000...0000(1后面63個(gè)0)-1111...1111?(63個(gè)1)=1;
因此0111...1111(0后面63個(gè)1)就可以表示為1000...0000(1后面63個(gè)0)-1,即:
1×2^63+0×2^62+...+0×2^1+0×2^0-1=2^63-1,這就是八個(gè)字節(jié)整數(shù)能表示的最大值;
同理可得1111...1111(1后面63個(gè)1)= - (2^63-1)。
需要注意的一點(diǎn)是,由于0000...0000(0后面63個(gè)0)與1000...0000(1后面63個(gè)0)都數(shù)值都為0,一個(gè)為﹢0一個(gè)為-0,參考一個(gè)字節(jié)取值范圍的規(guī)定,﹢0表示真正的0,-0表示的值=最小值-1,即為;
- (2^63-1)-1= - 2^63,這就是八個(gè)字節(jié)整數(shù)能表示的最小值;
四個(gè)字節(jié)浮點(diǎn)數(shù)表示的數(shù)值范圍:
單精度浮點(diǎn)數(shù) float:32 位,符號(hào)位 S 占 1 bit,指數(shù) E 占 8 bit,尾數(shù) M 占 23 bit
浮點(diǎn)數(shù)格式為:N=(-1)^S*M*R^E
S:符號(hào)位,取值 0 或 1,決定一個(gè)數(shù)字的符號(hào),0 表示正,1 表示負(fù)
M:尾數(shù),用小數(shù)表示,例如 1.345 * 10^0,1.345 就是尾數(shù)
R:基數(shù),表示十進(jìn)制數(shù) R 就是 10,表示二進(jìn)制數(shù) R 就是 2
E:指數(shù),用整數(shù)表示,例如?10^-1,-1 即是指數(shù)
由于指數(shù)E有正負(fù),其所占的8bit最左邊也為符號(hào)位,則E的范圍為111111111~011111111即
為-128~127;尾數(shù)M最大值為小數(shù)點(diǎn)后23個(gè)1,約等于1,所以四個(gè)字節(jié)浮點(diǎn)數(shù)表示的最大值為
1×2^127,最小值為-2^127。
總結(jié):
四個(gè)字節(jié)浮點(diǎn)數(shù)表示的數(shù)值范圍:-2^127~2^127;
八個(gè)字節(jié)整數(shù)表示的數(shù)值范圍:- 2^63~2^63-1;
由此可見(jiàn),四個(gè)字節(jié)浮點(diǎn)數(shù)表示的數(shù)值范圍要比八個(gè)字節(jié)整數(shù)表示的數(shù)值范圍大的多。
總結(jié)
以上是生活随笔為你收集整理的四个字节的浮点数与八个字节的整数表示范围大小的对比的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Mysql数据库的导入导出(各种情况)
- 下一篇: 城市污水处理类毕业论文文献有哪些?