【樓主】youyouyou2012-12-05 16:56
» 她問我用32位存放的32767的二進制補碼加1后變成什么樣,雖然我學過計算機但是我畢業(yè)這么多年了都忘完了。但是我借助百度,同時努力想了想應該是這樣的:32767補碼00000000 00000000 01111111 11111111加1變成00000000 00000000 10000000 00000000好像是-32768的補碼。結果她說不對,書上寫的是加1變成00000000 00000000 11111111 11111111把我弄暈了,求助各位大神到底哪個對啊?
作者:youyouyou2012-12-05 16:58
自己挽尊一下。。
作者:專黑麥迪三十年2012-12-05 16:59
32位 怎么會影響到 32767這么小的數(shù)字 如果說16位還有可能出問題
作者:seno2012-12-05 16:59
32767+1=32768,16位才是-32768吧,至于那個65535怎么來的我就不知道了
作者:專黑麥迪三十年2012-12-05 17:00
她是想表達16位吧。。。比如short 型。她搞錯了 認為是32位吧。。真愁人
作者:光渝影2012-12-05 17:01
正數(shù)的2進制補碼同其原碼表示,負數(shù)的是符號位為1,數(shù)值位是將原碼按位取反末位加1
作者:MikeZTM2012-12-05 17:01
正數(shù)反碼補碼? 你確定?
作者:專黑麥迪三十年2012-12-05 17:02
32767+1當然是32768。。。你當計算機是傻子么。。
作者:MikeZTM2012-12-05 17:02
她是想表達16位吧。。。比如short 型。她搞錯了 認為是32位吧。。真愁人 32767+1=32768,16位才是-32768吧,至于那個65535怎么來的我就不知道了 short是32位, int或者long是64位. Post by youyouyou (2012-12-05 17:02) 現(xiàn)在爭論關鍵在于32767+1后最后16位是不是都是1.我也懵了~~ 真蛋疼 1后面15個0就是32768 15個1是32767 這有什么難理解的。最后15位是0。。
作者:youyouyou2012-12-05 17:08
真蛋疼 1后面15個0就是32768 15個1是32767 這有什么難理解的。最后15位是0。。 short是32位, int或者long是64位. ok,明白了,那就是我對了。PS:我問了那個書的SB作者是譚浩強! 呵呵字數(shù)補丁.exe 這是C的. 呵呵^2