黑马程序员技术交流社区

标题: 关于8进制16进制的符号问题 [打印本页]

作者: 文涛    时间: 2013-10-31 15:27
标题: 关于8进制16进制的符号问题
本帖最后由 文涛 于 2013-10-31 21:33 编辑

我有个问题,就是在二进制向8进制和16进制转换的过程中,符号位应该怎么保留,正数就不说了,比较简单,关键是负数,表示为2进制的时候是补码形式,在转换成16进制的时候任然以最高位为正负标示吗


作者: 帅气的冬瓜    时间: 2013-10-31 18:39
   二进制的原码、反吗和补码   是有严格定义的    楼主问最高位是什么
   负数再求反吗和补码时,无论怎样变化,其最高为都是1(就是负的意思)。
   有关二进制的说明,在很多行业都有介绍。很容易理解的
作者: 胡建伟    时间: 2013-10-31 20:32
    负数二进制,其最高位都是1。在负数八进制或负数十六进制转化为八进制和十六进制过程中,都是先用二进制表示,补码时候无需加符号标识,只有当负数八进制或负数十六进制转换为十进制时候结果才加上负号标识.
举例说明:
(-6)8=()16
转换过程:将-6看作6,转化成二进制:0000 0110
              取反                      1111 1001
              加1后结果为:                   1111 1010
              四位一结合得:            (fb)16
(-6)16=()8
转换过程同上
           取反加1:           111 110 010
                三位一结合得:           (762)8
(-6)16=()10
转换过程:先不管负号,转化成二进制:0000 0110
               再转换成十进制:       8
               最后加上负号:    (-6)=(-8)10
作者: 文涛    时间: 2013-10-31 21:32
我懂了,相当于无论是8进制或者16进制还是10进制都是以二进制作为中间的转换桥梁,实质上在二进制的时候是等值的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2