五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網 會員登陸 & 注冊

C語言的問題 之 有符號數和無符號數的計算

2021-01-26 12:43 作者:GXTon_阿通  | 我要投稿


參與計算的兩個變量,類型不同,則需要先轉換成同一類型.

然后進行計算

?轉換的時候,為了保證精度不降低,需要向數據增長的方向進行轉換.

比如stm32單片機中 char :8位? int:32位? long long:64位

這里會存在bug: 在轉換的時候C語言只考慮了長度,沒有考慮到符號位.

比如,int->unsigned 轉換的時候.

圖片來源:https://blog.csdn.net/qq_47406941/article/details/112707018

所有浮點運算都以雙精度精心計算.即如果是兩個float,那么計算的時候也是先轉換成double

再進行計算.

有"不符合人性"的情況:

如果兩個數據,一個有符號,一個無符號,則轉換成無符號.

那么有人會說這樣不就錯了嗎?的確,在C語言中就是會輸出錯誤的結果...

還有個"不符合人性"的情況:

char,short,unsigned char ,nusigned short 類型,

也就是比int短的類型,在進行運算的時候,必須轉換成int型.

這里 char 轉換成int 要進行位的擴展,這個時候就會出問題:

這樣就可能會有多補了好幾個1的情況:

顯然是C語言不和里的地方,但是大家都要遵守

還有"精度損失"的情況

在賦值運算的時候,兩邊數據不同類型.

賦值號右邊的類型將轉換為左邊的類型.

a=b? 如果a是int類型,b是float類型.

b=1.78然后賦值給a,那么a只保留整數部分...C語言,連四舍五入都不計算的...


http://bbs.itheima.com/thread-4473-1-1.html

還有移位的東西:


C語言的問題 之 有符號數和無符號數的計算的評論 (共 條)

分享到微博請遵守國家法律
苏尼特左旗| 凉山| 巴东县| 济阳县| 岳阳县| 遂平县| 无棣县| 新泰市| 奉化市| 伊川县| 鄂托克前旗| 榆社县| 叶城县| 双桥区| 十堰市| 新巴尔虎右旗| 新泰市| 天水市| 双柏县| 防城港市| 盐城市| 商河县| 彭山县| 建宁县| 光山县| 大化| 宜阳县| 金山区| 河津市| 鹤岗市| 佛学| 莱西市| 大连市| 江阴市| 司法| 滕州市| 华池县| 浦东新区| 塔河县| 达日县| 太仆寺旗|