[問題] 請問負數表示

看板C_and_CPP (C/C++)作者 (wind)時間15年前 (2011/04/14 22:59), 編輯推噓2(208)
留言10則, 6人參與, 最新討論串1/2 (看更多)
請問 我的code如下 main() { int a=-3 printf("a=%x",a); } 請問為何輸出是fffffffd 謝謝啦 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.32.24

04/14 23:00, , 1F
你用了%x 不然期望印出什麼?
04/14 23:00, 1F

04/14 23:04, , 2F
你知道%x是幹麻的嗎?
04/14 23:04, 2F

04/14 23:16, , 3F
%x是印16進位的方式,可是印負數變得很奇怪
04/14 23:16, 3F

04/14 23:16, , 4F
-1=ffffffff,-2=fffffffe,-3=fffffffd,-4=fffffffc......
04/14 23:16, 4F

04/14 23:17, , 5F
以此類推...
04/14 23:17, 5F

04/14 23:18, , 6F
所以沒事的話 不要考慮負數的情況比較好@@"
04/14 23:18, 6F

04/14 23:20, , 7F
不會奇怪,這是2補數的表示方式
04/14 23:20, 7F

04/15 01:13, , 8F
補數型式 二進位移一下就知道了
04/15 01:13, 8F

04/16 16:02, , 9F
查一下2補數
04/16 16:02, 9F

04/17 00:45, , 10F
你是資X系的話,計概應該要死當才對...
04/17 00:45, 10F
文章代碼(AID): #1DfmlBbm (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1DfmlBbm (C_and_CPP)