屁哥 发表于 2017-8-12 00:58:00

C语言 第七课 课后题 第六题问题

写出下列有符号数,对应无符号数的十进制值请问这句话怎么理解??
比如A13二进制是0000 1101 倒序不算符号位的位权 其他的2的位权次方 然后所有的相加是么?
B: 122 转换为二进制 0111 1010,然后64+32+16+8+2=122
C: -11的二进制是0000 0001 然后取反 1111 1110 加一 ,然后64+32+16+8+4+2+1=127 为什么是255 难道要127+128么=255

有符号数 对应无符号 就是 符号位的 1 当正整数看么? 有点蒙圈 今晚有事 就练习了一节课后题

丶忘却的年少o 发表于 2017-8-12 00:58:01

题目的意思就是把有符号数变成无符号数,这个就要考虑到这个数的二进制,就拿题目的例子来说:-8 的补码是 1111 1000,如果作为无符号数就是把第七位代表符号位的1也算上2的位权次方 。
A:你的想法是对的。
C:-1的二进制是1111 1111,每一个位都2的位权次方,2^7+2^6+2^5+2^4+2^3+2^2+2^1+2^0=255
就像你理解的,看作无符号就是最高位的1用不用2的位权次方的意思。{:10_256:}

还差几 发表于 2017-8-12 10:37:51

==

屁哥 发表于 2017-8-12 15:40:42

丶忘却的年少o 发表于 2017-8-12 00:58
题目的意思就是把有符号数变成无符号数,这个就要考虑到这个数的二进制,就拿题目的例子来说:-8 的补码是...

妥了谢谢
页: [1]
查看完整版本: C语言 第七课 课后题 第六题问题