日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++基础知识 - 浮点类型

發(fā)布時(shí)間:2023/12/16 c/c++ 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++基础知识 - 浮点类型 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

需要精確計(jì)算的數(shù)學(xué)、工程應(yīng)用,用整數(shù)類型不合適。

float類型(單精度浮點(diǎn)類型)

用來存儲(chǔ)帶小數(shù)部分的數(shù)據(jù)。
在內(nèi)存中占用4個(gè)字節(jié)

表示范圍:-3.4*1038~+3.4*1038 (不需記憶)
精度:最長7位有效數(shù)字(是指7位10進(jìn)制位)

//精度只能取值到 1.1234568, 在第7位(整數(shù)部分不算)是四舍五入后的值。 float y = 1.123456789;

float類型的存儲(chǔ)方式:

符號(hào)位:0代表正數(shù),1代表負(fù)數(shù)
階碼: 指數(shù)+127

符號(hào)位 尾數(shù) * 2 ^ (階碼-127)

轉(zhuǎn)化過程:(僅做了解)
float x = 13.625;

13.625 的轉(zhuǎn)化:

  • 13 -> 1101
  • 倒除法:

  • 625 -> .101

  • 0.625 * 2 = 1.25 取整 1 ,剩下0.25

  • 0.25 * 2 = 0.5 取整 0 , 剩下0.5

  • 0.5 * 2 = 1 取整 1 ,剩下0

  • 按順序得到 101(直到小數(shù)部分為0)

  • 13.625 => 1101.101

  • 1101.101 小數(shù)點(diǎn)向左移動(dòng)3位 => 1.101101

  • (要求移動(dòng)到整數(shù)部分只有1位)

  • 所以,階碼 = 3 + 127 = 130

  • 二進(jìn)制形式為:10000010

  • 移位后的小數(shù)部分是 .101101

  • 尾數(shù)存儲(chǔ)二進(jìn)制的101101

  • 實(shí)際存儲(chǔ)為:

    ?
    ?
    ?

double類型(雙精度浮點(diǎn)類型)

用來存儲(chǔ)帶小數(shù)部分的數(shù)據(jù)。
8個(gè)字節(jié)

具體的存儲(chǔ)方式和float相似.

表示范圍:-1.7*10308~1.7*10308(不需記憶)
精度:最長16位有效數(shù)字(是指16位10進(jìn)制位)

double y = 1.12345678901;

浮點(diǎn)類型的常量
帶小數(shù)的常量默認(rèn)都是double類型
3.14 是double類型
3.14f 強(qiáng)制指定是float類型

可以用”科學(xué)計(jì)數(shù)法”表示浮點(diǎn)類型的常量
1.75E5 或 1.75 e5
1.75E5就是1.75乘以10的5次方(100000), 175000.0

注意:
1 是int類型的常量
1.0 是double類型的常量

?
?

浮點(diǎn)數(shù)據(jù)的輸出控制

#include <iostream> #include <Windows.h>using namespace std;int main(void) {double value = 12.3456789;// 默認(rèn)情況下, 只輸出6位有效數(shù)字(包含小數(shù)點(diǎn)前面的數(shù)據(jù))cout << "默認(rèn)輸出: " << value << endl; // 輸出結(jié)果 12.3457(最后一位四舍五入)// 指定輸出的精度cout.precision(4); // 包含小數(shù)點(diǎn)前面的數(shù)據(jù)cout << "指定精度: " << value << endl; // 輸出結(jié)果 12.35(最后一位四舍五入)// 輸出小數(shù)點(diǎn)后面指定的精度cout.precision(7);cout.flags(cout.fixed); //定點(diǎn)法cout << "定點(diǎn)輸出: " << value << endl; // 輸出結(jié)果 12.3456789// 取消定點(diǎn)法cout.unsetf(cout.fixed);cout << "取消定點(diǎn): " << value << endl; //輸出結(jié)果 12.34568system("pause");return 0; }

總結(jié)

以上是生活随笔為你收集整理的C++基础知识 - 浮点类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。