邁向一萬小時成長之路
[備忘錄] 記錄一些iOS開發時常用又容易忘的小東西
2015年7月27日 星期一
為何int的負數會比正數多1
因為C語言中做了一個規定
當最高位的bit為1而其他都為0的時候,這個1既表示負號又表示它的數值。
以32bit為例,有號數的int範圍為
正: 2147483647 ~ 0 負: -1 ~ -2147483648
如此定義有二個好處,
一是計算方便,當你用2的補數往上做加法時,可以直接依二進制計算,不用另外調整正負號。
二是避免重覆定義0, 因為+0跟-0是同一個數,不需要分正負。
沒有留言:
張貼留言
較新的文章
較舊的文章
首頁
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言