分享

十进制与二进制之间的转换

 花瓣121 2019-03-28

整型有4种进制形式:

1.十进制: 都是以0-9这九个数字组成,不能以0开头。
2.二进制: 由0和1两个数字组成。
3.八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。
4.十六进制:由0-9和A-F组成。为了区分于其他数字的区别,开头都是以0x开始。

 

位运算在计算机语言中运用广泛,所以十,二进制间的转换显得十分重要:

十进制与二进制之间的转换:

   (1)十进制转二进制的转换原理:除以2,反向取余数,直到商为0终止。

            9(十进制)→1001(二进制)

   

   (2)二进制转十进制的转换原理: 就是用进制的定义:二进制的每一个乘以2的n次方,n从0开始,每次递增1。然后得出来的每个数相加。

    1110(二进制)→ 14(十进制)     8+4+2=14

 推荐记住2的指数9以内的数:1、2、4、8、16、32、64、128、256、1024

(3)负数:这时候需引入补码的概念,一个byte第八位(最前位)是确定符号的位,0为正,1为负,但考虑到+0与-0值相等,为了使逻辑成立没有偏差,所以提出了补码表示法。

补码的计算公式:

       正数:源码、反码和补码都相同。

       负数:补码 = 反码(符号位保持不变) + 1

注意: 负数在计算补码的时候,在源码取反的过程中要保留符号位不变,其他位取反,例如:10001010取反11110101(第一个1不变),补码就为11110110。

 

另外,对于负数中的二进制转十进制,自己发现了一个小公式:

先直接算出正数(此时一般超过127而小于256),该负数=新的正数-256       

举个例子:11000011(即十进制的 -61)  =  128+64+2+1 - 256 = -61     与结果吻合

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多