看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《liptonbin (wind)》之銘言: : 請問 : 我的code如下 : main() : { : int a=-3 : printf("a=%x",a); : } : 請問為何輸出是fffffffd : 謝謝啦 這是因為電腦裡負數表示法的關係,請查維基百科:二補數 // http://zh.wikipedia.org/wiki/%E4%BA%8C%E8%A3%9C%E6%95%B8 3 用二進位表示是 00000000 00000000 00000000 00000011 用二補數表示 3 的負數 (即 -3) 則為 11111111 11111111 11111111 11111101 // 二補數:全部 bit 反轉 (1變0, 0變1) 後,加 1 再轉換為16進制就是 FFFFFFFD 了,體會一下吧! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.227.84.3