網站首頁 美容小常識 享受生活 東方時尚 識真假 高奢 資訊 遊戲攻略 搞笑段子
當前位置:品位站 > 享受生活 > 心理

c語言整數與實數的區別

欄目: 心理 / 發佈於: / 人氣:1.85W
c語言整數與實數的區別

C語言整型數和實型數最在的區別在於編碼方式上。

1、整型數一般使用原碼、反碼、補碼三種編碼方式。

原碼:即用第一位表示符號, 其餘位表示值. 比如如果是8位二進制:

1的原碼=0000 0001 //最左側的最高位是符號位,0表示正數

-1的原碼=1000 0001 //最左側的最高位1表示負數

反碼:即在原碼的基礎上符號位不變,其它各位求反。

-1的反碼=1111 1110 //注意符號位不變

補碼:即在反碼的基礎上,再加1

-1的補碼=1111 1111

2、實數型一般使用的是IEEE754編碼方式。IEEE754中規定了實數符號位、指數位和尾數位,即有效數字位所佔的二進制位數,具體如下:

格式 長度 符號位 指數位 尾數位 有效位數 指數偏移 尾數説明

單精度 32 1 8 23 24 127 有一位隱含位

雙精度 64 1 11 52 53 1023 有一位隱含位

擴展雙精度 80 1 15 64 64 16383 沒有隱含位

注意:擴展雙精度格式沒有隱含位,因此它的有效位數與尾數位數一致,而單精度和雙精度格式均有一位隱含位,因此它們的有效位數比尾數位數多1。