w_k_n_h
2017-06-05 15:40
采纳率: 0%
浏览 1.6k

关于二进制负数转换十进制的来回转换

举列子:-10如何具体转换成二进制的?先+10:1010 拿个+1怎么加的,还有如何转换回来的?图片说明图片说明 有木有可以推荐的 转换进制的工具推荐?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • 笨狗先飞 2017-06-05 15:44

    负数其实是正数的补码,所以负数和数据类型有关,16位,32位,64位等,负数的二进制码相当于对应正数取反加一。

    点赞 打赏 评论
  • 一个纸杯 2017-06-05 15:49

    十进制转化为二进制是这样的:正数转化为二进制,与源码相同,负数转化为二进制,首先将负号去掉,将对应正数转化为二进制,再求其反码,反码末位加1变为补码,再加上负号,负号用1表示。
    如题中的-10:

     ①蒋10转化为二进制,就是1010,
    ②求其反码,也就是各位取反,为0101,
    ③将末位加1变为补码,也就是0101+1,变为0110,
    ④在最高位补上负号,变成10110。
    
    点赞 打赏 评论
  • blownewbee 2017-06-05 15:53

    负数一般用补码表示,也就是绝对值取反以后加一。

    点赞 打赏 评论
  • 一个纸杯 2017-06-05 15:58

    计算器的话,win10自带的计算器就很好用,可以试试。
    图片说明

    点赞 打赏 评论
  • 豪莲 2017-06-05 15:59
    点赞 打赏 评论
  • w_k_n_h 2017-06-05 16:03

    工具找到了。。就是+1不是很理解 工具计算机有 只不过看不懂英文。。

    点赞 打赏 评论
  • 豪莲 2017-06-05 16:04

    1)-10的绝对值是10,10的十六进制是0x0A,反码为0xFF-0x0A =0xF5.故补码为:0xF5+1=0xF6,二进制为11110110。
    2)10二进制为00001010,取反为:11110101,再加1为11110110。注意,负数第一位为1

    点赞 打赏 评论

相关推荐 更多相似问题