开发者社区> 问答> 正文

无符号二进制整数转换成十进制数怎么算

无符号二进制整数转换成十进制数怎么算

展开
收起
知与谁同 2018-07-20 12:38:53 3212 0
1 条回答
写回答
取消 提交回答
  • 12535
    由于是无符号的二进制整数,所以可以直接将各位位码乘以位权,并进行相加得到该二进制对应的十进制数。如:
    无符号二进制数10110010的十进制数为:
    1*2^7+0*2^6+1*2^5+1*2^4+0*2^3+0*2^2+1*2^1+0*2^0
    =128+32+16+2
    =178

    对于有符号的二进制数,其运算与无符号类似,只是最高位表示符号位,0表示正,1表示负。
    下面分两种情况来将有符号二进制数10110010转换为对应的十进制数:
    1、当10110010是原码形式时,对应的十进制为:
    -(0*2^6+1*2^5+1*2^4+0*2^3+0*2^2+1*2^1+0*2^0)
    =-(32+16+2)
    =-50
    2、当10110010是补码形式时,对应的原码为:11001110,对应的十进制为
    -(1*2^6+0*2^5+0*2^4+1*2^3+1*2^2+1*2^1+0*2^0)
    =-(64+8+4+2)
    =-78
    2019-07-17 22:58:13
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载