发新话题
打印

几个c二级考试小问题,请帮忙

几个c二级考试小问题,请帮忙5 ^$ v3 [  X& {* g: `, ~2 S, t3 S+ `
1 数128的二进制是10000000,那么-128的二进制是多少,为什么?
  {  P$ p, Q: E
  |8 Q5 P5 e  G* D0 _2 数127的补码是多少,怎么算?! h, ]: m2 e3 Y9 z1 g0 _5 \
# j. S5 T9 }. c* {. e5 n
3 数0的补码是多少?
- Q/ M( [0 J5 z; S1 U+ `& B9 H8 }# u
4 浮点数代码的十六进制是0AF00000,其阶码的十进制真值是多少,如何算?
5 x4 P; a) i0 l      

TOP

1。补码是为了将减法转化为加法运算而发明的,所以正数是没有补, z$ S' ?, F5 v1 P$ u# z, h# c0 h3 U9 D
   码的。
6 l& F# c: Q: k! w' n2 p# E2。若需计算补码,先得知道模是多少,即寄存器能处理的最大数+17 K. j' @! k' V9 K6 e  K: [
   如:8位寄存器的模是256[十进制],但由于进行带符号处理,则
0 }) a  c) ^7 p, h" N' D   最高位用于记录“+”或“-”,剩余的7位模为128。所以-127的3 r, [$ Z  g( X5 t6 q
   模应该为-1。; }# l; x+ `+ `" J5 E
3。由于补码=反码+1,所以不论0有无补码,若要计算的话,0取反后
7 M" ?1 f; l2 w5 e, @, h   寄存器各位为1,再加1后寄存器高位溢出,结果还是0.      

TOP

发新话题