PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] if判斷式內的 絕對值abs
作者:
ooww
(另外一個我)
2021-07-30 01:29:57
如圖所示 第9行
if( abs(b[0]) > abs(a) )
c = b[0];
abs(b[0]) 等於|-10| = 10
abs(a) 等於|-2147483648| = 2147483648
最後c=b[0],就表示10>2147483648
怎麼會這樣?
還是在if判斷式內,abs有其他解讀?
願奉上100P
作者:
enthos
(影斯作業系統)
2021-07-30 01:44:00
2147483648 == 0, INT_MAX == 2147483647
作者:
ko27tye
(好滋好滋)
2021-07-30 01:49:00
你overflow了
作者:
mick90207
(阿公)
2021-07-30 02:00:00
你翻一下計概會講的整數儲存範圍
作者: NciscalA
2021-07-30 02:05:00
有號數 overflow 是 UB 吧undefined behavior 未定義行為
作者:
sarafciel
(Cattuz)
2021-07-30 05:52:00
你知道int這個型態的最大表示數值範圍是多少嗎?還是你覺得int可以你要塞多大就多大?XD
作者: longlongint (華哥爾)
2021-07-30 11:23:00
能印看看 abs(-2147483648) 是多少,另外查一下是不是UB哦 上面做了推薦文章: jserv 重新理解數值
作者:
loveme00835
(髮箍)
2021-07-30 12:50:00
無號數叫做 wraparound, 不是相同情形
作者:
MartinJ40
(Martin J-40)
2021-07-30 13:17:00
去念計算機概論
作者:
jacky1989
2021-08-01 00:58:00
overflow......
作者:
xiao2chen
(台大小陳)
2021-08-05 12:44:00
XD 不錯啊 從錯誤中學習
作者: ArdenCho (Arden)
2021-10-01 18:36:00
Overflow 了,整數溢位
繼續閱讀
[問題] 有需要 close file descriptor 嗎?
gn00618777
[問題] macro替換字符
ManOfSteel
[問題] github上找c++ light projeect
eleghost
[問題]實作strcpy產生bus error的問題
ericerix
Re: [問題] 求問一題指標題輸出
poyenc
[問題] 求問一題指標題輸出
ericerix
Re: [心得] X86 架構下的 Memory Model
poyenc
Re: [心得] X86 架構下的 Memory Model
sarafciel
[心得] X86 架構下的 Memory Model
Instance
Re: [問題] Leetcode 744
poyenc
Links
booklink
Contact Us: admin [ a t ] ucptt.com