[問題] 請教這題的補數怎麼取?

看板C_and_CPP (C/C++)作者 (火球金魚)時間14年前 (2012/04/21 19:43), 編輯推噓2(2013)
留言15則, 7人參與, 最新討論串1/1
小弟目前在自修計概新手,請教大家這題題目的補數怎麼取呢? 題目: -16 請用5bits 以 2's補數來表示此數值。 sign bit 也是1,而16取2's補數不就擠到 sign bit的位元了, 那怎麼辦@@? 謝謝大家~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.240.249.214

04/21 19:56, , 1F
10000?
04/21 19:56, 1F

04/21 20:04, , 2F
printf("HEX: %x", (~16 & 0x1F) + 1);
04/21 20:04, 2F

04/21 20:10, , 3F
嗯 答案是10000,但sign bit不也是1,也能同時代表負數
04/21 20:10, 3F

04/21 20:11, , 4F
和16的2's補數?
04/21 20:11, 4F

04/21 20:14, , 5F
11111跟10001哪個是-1哪個是-15?
04/21 20:14, 5F

04/21 20:17, , 6F
10001是-15
04/21 20:17, 6F

04/21 20:18, , 7F
以2's補數表示
04/21 20:18, 7F

04/21 21:52, , 8F
5位元2補數能表示的範圍是-16~+15, 16要6位元才夠寫
04/21 21:52, 8F

04/22 00:33, , 9F
題目是問 -16,的確是能表示@@
04/22 00:33, 9F

04/22 08:54, , 10F
15 + 1 --> -16, 10000 是正解
04/22 08:54, 10F

04/22 09:49, , 11F
sj兄,那10000的1同時代表sign bit和16(2^4)的意思嗎?
04/22 09:49, 11F

04/22 16:58, , 12F
我不懂樓上同時代表要幹嘛耶@@? 第一個bit就是sign阿
04/22 16:58, 12F

04/22 16:59, , 13F
10000用2's來看1就是sign 用unsigned int來看1就是16
04/22 16:59, 13F

04/22 16:59, , 14F
請問原po是想說這個意思嗎?
04/22 16:59, 14F

04/22 18:12, , 15F
...其實小弟也不知道該怎麼問了 Orz 不好意思
04/22 18:12, 15F
文章代碼(AID): #1FafrOEM (C_and_CPP)
文章代碼(AID): #1FafrOEM (C_and_CPP)