欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 下面的數(shù)據(jù)類型運(yùn)算結(jié)果和表達(dá)式對(duì)嗎? [打印本頁(yè)]

作者: zhth1979    時(shí)間: 2026-2-8 11:00
標(biāo)題: 下面的數(shù)據(jù)類型運(yùn)算結(jié)果和表達(dá)式對(duì)嗎?
float  A;  unsigned long B, C;   unsigned int D;
//方式1:
if(B > C)    D = (unsigned int)(fabs(A*(B - C)));        
else D = 0;
//方式2:if(B > C)    D = abs(A*(B - C));      
else D = 0;
我想得到的結(jié)果是無(wú)符號(hào)長(zhǎng)整型數(shù)據(jù) D(即:= 右邊的計(jì)算結(jié)果小數(shù)部分舍去,只保留整數(shù))。這兩種方式運(yùn)算有問題嗎?結(jié)果是一樣的嗎?



作者: wallywl    時(shí)間: 2026-2-8 15:15
      運(yùn)算結(jié)果是一樣的。方式一是 對(duì)乘積求絕對(duì)值,結(jié)果是無(wú)符號(hào)整型。
  第二種是對(duì)乘積的浮點(diǎn)數(shù)求絕對(duì)值,然后強(qiáng)制類型轉(zhuǎn)換為無(wú)符號(hào)整型。




作者: glinfei    時(shí)間: 2026-2-10 08:55
有些問題,方式一可能好一點(diǎn)點(diǎn),要看數(shù)值大小,小的時(shí)候可能一樣。主要是D你定義的不是長(zhǎng)型整數(shù),所以如果方式一,如果數(shù)值大,強(qiáng)制類轉(zhuǎn)換時(shí)會(huì)喪失精度;方式二,在abs傳參時(shí)就會(huì)出問題,因?yàn)樗邮艿木褪钦麛?shù),你傳浮點(diǎn)數(shù)可能會(huì)溢出或喪失精度。在C中可用labs()替換,在51我沒用過。
作者: zhth1979    時(shí)間: 2026-2-11 11:52
wallywl 發(fā)表于 2026-2-8 15:15
運(yùn)算結(jié)果是一樣的。方式一是 對(duì)乘積求絕對(duì)值,結(jié)果是無(wú)符號(hào)整型。
  第二種是對(duì)乘積的浮點(diǎn)數(shù)求絕對(duì) ...

我想得到的結(jié)果是無(wú)符號(hào)長(zhǎng)整型數(shù)據(jù) D(即:= 右邊的計(jì)算結(jié)果小數(shù)部分舍去,只保留整數(shù))。這樣的話方式二應(yīng)該不會(huì)溢出了吧?
作者: zhth1979    時(shí)間: 2026-2-11 11:53
glinfei 發(fā)表于 2026-2-10 08:55
有些問題,方式一可能好一點(diǎn)點(diǎn),要看數(shù)值大小,小的時(shí)候可能一樣。主要是D你定義的不是長(zhǎng)型整數(shù),所以如果 ...

我想得到的結(jié)果是無(wú)符號(hào)長(zhǎng)整型數(shù)據(jù) D(即:= 右邊的計(jì)算結(jié)果小數(shù)部分舍去,只保留整數(shù))。這樣的話方式二應(yīng)該不會(huì)溢出了吧?
作者: glinfei    時(shí)間: 2026-2-13 10:35
zhth1979 發(fā)表于 2026-2-11 11:53
我想得到的結(jié)果是無(wú)符號(hào)長(zhǎng)整型數(shù)據(jù) D(即:= 右邊的計(jì)算結(jié)果小數(shù)部分舍去,只保留整數(shù))。這樣的話方式二應(yīng) ...

abs()接受 int,你是long,要看啥系統(tǒng)和編譯器了,標(biāo)準(zhǔn)的會(huì)溢出。




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1