關於c 整型和實型的概念問題,c 中整形資料和實型資料的定義!

2021-03-10 18:52:55 字數 3771 閱讀 6726

1樓:匿名使用者

正常!這是程式設計人員不小心有關,乙個整數與浮點數進行計算,結果當然要儲存在浮回

點數裡面,這

答樣才不會發生意外是不是。把int x,改為float x當然沒問題了。

任何數在儲存器裡面都是以二進位制儲存的,而0.7不是2的n次方,只能以近似值儲存,當強制轉換為整數,就會被截斷,這是沒有辦法的,結果就會無法預料。

所以當不同型別的資料進行計算時,結果一定要以精度最高的型別來儲存(需要時還可以轉化為精度低的型別嘛)

可以float x

再cout<

結果就是7,不信,試試?

2樓:匿名使用者

float型別精bai度不行啊,

要準確一般用dudouble。float型別儲存的是在zhi其精度範圍內最dao接近目標數的值

內,不一定是大或者小。

——容——關於0.7和0.9有問題,說明,float型別實際儲存的值小於0.7或0.9。這樣10倍的話,小於7,捨去小數部分就成了6.

————而其它情況,0.1-0.6,0.8的情況,float型別也不一定準確,但是只要儲存的值大於等於目標值(比如0.8),結果就大於8,捨去小數就是8。

3樓:御劍晨風

精度問抄題,float精度較低…襲

…你程式常數0.7實際賦值的bai時候可能du是0.6999……,於zhi是轉化為double計算乘法時精度繼續dao下降(double比float精度高麼錯,但是你轉化資料型別,浮點型別是越轉化有效精度越低,即實際正確的數字越少)。

最終計算結果可能是浮點的6.999……,再轉化為整型就是6。建議看一點計算機內部資料表示原理類的資料,會對理解你試驗結果有幫助的。

4樓:

這當然出問題了,x=10*y;把這句換成 x = 10*(int)y;就ok

5樓:匿名使用者

個人感覺來樓上很多人比較扯蛋。

整數自是以補碼bai

形式儲存的du,對於有符號zhi數,最高位是符號位。但是dao浮點數跟整數的儲存方式不同,它是用乙個位來指定正負,用8位(對於float型)來指定指數,最後23位指定精度。

具體細節可以參考計算機組成相關書籍,或者ieee浮點數標準。

6樓:匿名使用者

四樓回答有問題哦 float y=0.7; (int)y 不等於0嗎

c++中整形資料和實型資料的定義!

7樓:匿名使用者

1.型別名稱

int2.取值範圍

一3 2 7 68~ 3 2 7 6 7(一2』5~2¨一1)

與數學上類似,不能有分隔符。c語言允許使用八進位制整數與十六進位制整數,八進位制整數加前導o(數字),十六進位制整數加前導0x。

4.運算操作

整型資料能進行算術運算與關係運算。

(1)算術運算包括: (加法)、一(減法)、*(乘法)、/(除法)、%(求餘),運算規則除除法外,與數學中相同。

整數的除法運算是整除,得到商,如5/3結果為1。對於負數,多數機器採用向零取整法,如一5/3結果為一1。

求餘運算,又稱取模運算,得到餘數,如5%3結果為2,一5%3結果為一2。

求餘運算在許多場合都非常有用,如判斷整數a是不是b的倍數,可看a%b是否等於零。a%1 o得到a的個位數字,(a/1 o)%1 0得到a的十位數字,如此可分離乙個整數的數字。

一般只有除數大於0,求餘運算才有意義。當a小於0時,a%b等於一((一a)%b)。

(2)關係運算包括:<(小於)、《一(小於等於)、一一(等於)、!一(不等於)、>(大於)、>一(大於等於)等六種,運算規則與數學中相同,運算結果為邏輯型別資料。

關係運算成立結果為1,不成立結果為o。

關係運算請讀者特別注意運算子與數學中的不同。

5.儲存

c標準沒有具體規定各類資料儲存的位元組數,各種機器處理有所不同,一般以乙個機器字(word)存放1個int資料,pc機上int資料儲存用兩個位元組。

機器中用最高位表示數的符號,正數符號位用。表示,負數符號位用1表示。負數在機器中存放的是其補碼。

3.長整型

長整型型別名稱為long int或long,取值範圍為(一2 1 47 48 3 6 7 8~

2 1 4 7 48 3 647),長整型資料可加字尾l表示,在turbo c中,儲存佔4個位元組,運算與

基本整型相同。

4.無符號整型

無符號數與有符號數的主要區別是數的最高位不作符號處理,表示數的絕對範圍是有符號數的兩倍。相應的無符號整型有無符號基本整型、無符號短整型和無符號長整型。無符號基本整型,型別名稱為unsigned int.或.unsigned,取值範圍為o~6 5 5 3 5儲存佔兩個位元組。

無符號短整型,型別名稱為unsigned short int或unsigned,取值、運算、儲存同無符號基本整型。

無符號長整型,型別名稱為unsigned long int或unsigned long,取值範圍為0~4 2 94 96 7 2 9 5,儲存佔4個位元組。 [page]

無符號整型常用於處理大整數及位址資料。

你說的實型是 float 和 double吧?

8樓:go陌小潔

整形資料:

短整型  short  a

一般整型 int a

長整型  long (int)  a   //括號裡面可要可不要內無符號整型 unsigned int a

實形容資料

單精度型  float a

雙精度型 double a

長雙精度 long double a

c++是在c語言的基礎上開發的一種通用程式語言,應用廣泛。c++支援多種程式設計正規化、物件導向程式設計、泛型程式設計和過程化程式設計。最新正式標準c++14於2023年8月18日公布。

其程式設計領域眾廣,常用於系統開發,引擎開發等應用領域,是至今為止最受廣大程式設計師受用的最強大程式語言之一,支援類:類、封裝、過載等特性。

9樓:匿名使用者

整型主要是int型,實型主要是float型吧

c++,請教,什麼整型和整形和實型和實數和浮點一樣麼。它們哪個包括哪個啊。我就知道,整數就是沒有小數

10樓:匿名使用者

1. 整型,就是通常du所說的zhi整數,不帶小數點,如123,45678等,daoc語言的回整數不僅包括十進位制答整型資料,還包括八進位制、十六進位制形式,如034為八進位製數,0x12e4為十六進位製數。「整形」就是寫法上的差異,專業術語一般不使用

2. 實型,就是通常所說的實數,也稱為浮點數,就是帶有小數點的數。實型數分為單精度和雙精度數,它們就是表示資料的有效位不同,一般單精度為7位有效數字,而雙精度是15位有效數字。

表示方式分為十進位制小數和指數表示,如123.456是十進位制小數表示,而1.23456e2為指數表示。

無論是十進位制小數和指數,在計算機中都是以浮點形式表示,就是小數點可移動的意思,如123.456,可表示為 1.23456e2和12.

3456e1,所以實型數也稱為浮點數。

11樓:匿名使用者

整型資料 就是int型別

,copy佔4個位元組(32位的電腦)

bai浮點型數du據分為單精度zhifloat和雙精度double型別

單精度和雙精度的區

dao別就是所佔記憶體不同,float佔4個位元組,double佔8個位元組

byte就是位元組,記憶體的單位。1byte=8bit建議你好好看看書吧,把基本知識搞定,可以去看c語言的書籍。建議看王浩強寫的書

c語言中,常量中的整型與實型,在C語言中的整型變數與實型變數的區別是什麼?

不是一樣的概念啊 數學裡面的實數包括有理數和無理數。其中無理數就是無限不迴圈小數,有理數就包括整數和分數。數學裡的整數與實數只是簡單的數值型別的一種包含與被包含的關係。而在c語言中就不止這些了 他不僅僅是數值型別的區別,更主要的是這兩種在計算機中的儲存結構不同,占得位元組數不同,一般系統整型資料佔2...

c語言中長整型和整型的範圍,C語言中,整型常量和長整型常量,有什麼區別?

1 c語言中長bai整型常量 的數值du範圍最小是十進zhi制的 2147483647 2147483647,在計算 dao機中最少佔內用4個位元組 位元組長度跟容作業系統和編譯器有關,longint長度至少32位,而64位類unix系統為64位。2 c語言中整型常量 是通常的整數,包括正整數 負整...

c語言關於陣列中0和的儲存問題,C語言關於陣列中0和 0 的儲存問題

只能佔用4 個 第五個要留給 0 a 4 0 和 a 4 0 這倆一樣 0 ascii 碼 0 a 4 0 這樣的 0才是ascii碼48 不要被那些人誤導 首先乙個字串的話末尾是必須要有 0的 否則會越界,這樣的後果就是程式會有bug,如果你的陣列有5個空間的話,最後乙個一定要留給 0至於a 4 ...