亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C/C+中是否有標準符號函數(Signum,SGN)?

C/C+中是否有標準符號函數(Signum,SGN)?

C C++
青春有我 2019-07-04 12:34:17
C/C+中是否有標準符號函數(Signum,SGN)?我想要一個函數返回-1表示負數,+1表示正數。http://en.wikipedia.org/wiki/Sign_function寫自己的東西很容易,但似乎應該在某個標準庫中。編輯:具體來說,我在尋找一個在浮動上工作的函數。
查看完整描述

3 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

我不知道它的標準功能。不過,這里有一種有趣的方式來編寫它:

(x > 0) - (x < 0)

下面是一種更易讀的方法:

if (x > 0) return 1;if (x < 0) return -1;return 0;

如果您喜歡三元操作符,可以這樣做:

(x > 0) ? 1 : ((x < 0) ? -1 : 0)


查看完整回答
反對 回復 2019-07-04
?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

有一個C99數學庫函數,名為寫號(),它從一個參數中獲取符號,從另一個參數獲取絕對值:

result = copysign(1.0, value) // double
result = copysignf(1.0, value) // float
result = copysignl(1.0, value) // long double

將根據值的符號給出+/-1.0的結果。注意,浮點零有符號:(+0)將產生+1,(-0)將產生-1。


查看完整回答
反對 回復 2019-07-04
  • 3 回答
  • 0 關注
  • 5108 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號