關于C語言中printf與scanf的具體詳解     DATE: 2022-01-25 09:23:49

結果圖c語言中,浮點數的輸入輸出:scanf是float(REAL4),printf是double(REAL8)。綜上所知,因為輸出函數是雙精度浮點數,所以建議輸入也用雙精度浮點數,這樣輸入輸出格式串都用“%lf”。當然,若是輸入想用單精度,則可以用fld指令將單精度浮點數讀到FPU內部的浮點寄存器st(0),再通過fstp指令將浮點寄存器st(0)中的值寫到指定的8字節的內存單元,從而實現單精度轉換成雙精度。單精度與雙精度的區別:單精度時,用8位表示階碼,23位表示尾數數值,符號(Ms)(1為負,0為正);雙精度時,用11位表示階碼,52位表示尾數數值,符號(Ms)(1為負,0為正);它們尾數數值的整數部分固定為1,表示機器數時將其隱含。