VS2019書寫浮點型常量時不允許在後面加字尾f嗎

2021-03-04 04:42:46 字數 2240 閱讀 4390

1樓:

常量後面加copyf表示是float型,不加baif的,整數預設為du

zhiint型,浮點數預設為double型。pi是float型的變數,3.14為了和dao

它匹配,所以就加上了f,否則需要這樣一個強制型別轉化 const float pi = (float)3.14; 缺少了在比較嚴格編譯器中會提示一個warning的。不是說過了嘛,3.

14是double的,你把一個double型別的量賦值給float型別的就會有warning.const int a = 5.3;上面這個會出問題你能理解嗎,你這個是同樣的道理。

沒有寫成double可能是不需要那麼高的精度,double的運算比float慢很多。

浮點變數賦值中浮點數加字尾f和不加字尾f的編譯提示為什麼不一樣?

2樓:匿名使用者

c語言預設

bai3.1是一個double型的數,float s = 3.1;這句相

du當於把一zhi個double型的雙精度dao浮點數賦給回了單精度浮點數s,所以有

答可能產生截斷。加上f後3.1f是一個float型數,把它賦給同是float型的s就沒問題啦。

3樓:匿名使用者

3.1預設的是

制double型,若是float s=3.1,就是將一個double型的數賦給一個float型的變數,有可能造成精度損失。而3.

1f就相當於宣告3.1是float型,這樣就不會出現上述的問題。

浮點變數+f的問題

4樓:菸捲不抽菸

數字後bai面加f是表明該數字du

為單精度

浮點型數字(zhifloat);類似地,後面dao如果加版d則是表明該數字為雙精權度浮點型數字(double)。如果在**中使用一個小數而沒有加任何字尾,則此數字自動視為double型別。

回到問題本身。float x = 3.14f; 是一個宣告賦值語句。

如果3.14後面不加字尾f,則系統將認定3.14是double型別的常量,並將double型別賦值到float型別的x變數中。

而double變為float是丟失精度的,因此它被編譯器認定為帶有危險性的行為,一般會彈出一個warning。所以,在為float型別賦值常量時,通常在後面加字尾f,通知編譯器常量的型別是float,以避免被編譯器誤判為丟失精度。

5樓:

float x=3.14f;//指定x為單精度實型量,如果不加f為雙精度實型量,c中單精度型佔4個位元組(32位)記憶體空間,雙精度型佔8 個位元組(64位)記憶體空間。

6樓:匿名使用者

說明x=3.1400000

對於一個小數其預設型別為double型,如果需要指定為float型,需要在小數後面新增f或f字尾。

7樓:匿名使用者

float x=3.14;

float 僅僅是說明x是個

抄float 但是3.14 是個double, 這樣初始化x的時候會有從double到float的轉換

而3.14f就不一樣了 ,3.14f就是個float,初始化的時候沒有轉換過程

8樓:想去珠穆朗瑪峰

如果不加f預設是double型別,double比float精度高,會丟失精度的

9樓:最愛

不加f的話x就是一個double型別的

10樓:***x櫻

說明是float型的資料

單精度變數賦值,後面加一個f是什麼意思?

11樓:匿名使用者

單精度變數賦值後面加f是表明該數字為單精度浮點型數字(float);類似地,後面如果加d則是表明該數字為雙精度浮點型數字(double)。如果在**中使用一個小數而沒有加任何字尾,則此數字自動視為double型別。

賦值簡介:

將某一數值賦給某個變數的過程,稱為賦值。

12樓:匿名使用者

在c語言中貌似沒什麼區別,加不加都一樣,但是在c#中定義一個單精度浮點型的數就必須加上f,否則編譯就會出錯

13樓:匿名使用者

幫你查了一下資料,下面一段文字為書上的引用!

"標準c允許浮點數使用字尾,字尾為 「 f」或「 f」即表示該數為浮點數。如356.4f和356.4是等價的!"

如何在vs2019中使用vs2019的解決方案

選取一個vs2013的解決方案檔案.sln,以文字文件方式開啟它。我用的是sublime text 2,我認為是款代替記事本的不錯工具,而小巧。有人從notapad 轉為用它,自有其價值吧。在檔案開頭我們可以看到一些關鍵資訊 format version 12.00 visualstudiovers...

VS2019中Web Reference和Service Reference的區別

兩個主要區別 1.add web reference是由wsdl.exe生成客戶端 的。add service reference是由svcutil.exe生成客戶端 的。2.add web reference生成的 可以被.net1.1或.net2.0的客戶端呼叫 add service refe...

安裝vs2019自帶的sql server 2019怎麼

需要另外安裝sql,vs2010自帶的是不能用的 本身不能使用 想用vs自帶的資料庫的話,安裝一個sql server management sql2008是被整合再其中的,新建資料庫見下面連結 如何使用vs2010自帶的sql server 2008 資料庫 安裝vs2010後 由於vs2010自...