进制转换--《二进制》

目录:


一、二进制

----1.0、二进制转八进制(整数、小数)

----1.1、二进制转十进制(整数、小数)

----1.2、二进制转十六进制(整数、小数)


正文


一、二进制

概念:二进制是计算技术中广泛采用的一种数制。二进制数据是用 0 和 1 两个数码来表示的数。它的基数为 2,进位规则是"逢二进一",借位规则是"借一当二"

----1.0.0、二进制转八进制(整数)

二进制整数转换为八进制整数时,每三位二进制数字转换为一位八进制数字,运算的顺序是从低位向高位依次进行,高位不足三位用零补齐。下图演示了如何将二进制整数 1110111100 转换为八进制:

----1.0.1、二进制转八进制(小数)

二进制小数转换为八进制小数时,每三位二进制数字转换为一位八进制数字,运算的顺序是从高位向低位依次进行,低位不足三位用零补齐。下图演示了如何将二进制小数 0.1110111100 转换为八进制:


----1.1.0、二进制转十进制(整数)

二进制整数转换十进制整数时,使用"按权相加"法,所谓"权"就是"位权",从右往左,第i位的位权为2^{i-1},然后使用该位上的数字乘以"位权",最终将所有结果相加即可。下图演示了如何将二进制整数 1110111100 转换为十进制

----1.1.1、二进制转十进制(小数)

二进制小数转换十进制小数时,使用"按权相加"法,所谓"权"就是"位权",从左往右,第j位的位权为2^{-j},然后使用该位上的数字乘以"位权",最终将所有结果相加即可。下图演示了如何将二进制小数 0.1110111100 转换为十进制


----1.2.0、二进制转十六进制(整数)

二进制整数转换为十六进制整数时,每四位二进制数字转换为一位十六进制数字,运算的顺序是从低位向高位依次进行,高位不足四位用零补齐。下图演示了如何将二进制整数 1110111100 转换为十六进制

----1.2.1、二进制转十六进制(小数)

二进制小数转换为十六进制小数时,每四位二进制数字转换为一位十六进制数字,运算的顺序是从高位向低位依次进行,低位不足四位用零补齐。下图演示了如何将二进制小数 0.1110111100 转换为十六进制


PS:(原码、反码、补码)

因为"Python"整型的字节是增量的,随着数字的增大而增大,这里就用一个字节八位来代表位数。(当然"Python"中整型的字节至少是24。)

Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> import sys
>>> print(sys.getsizeof(0))
24
>>> print(sys.getsizeof(1))
28
>>> print(sys.getsizeof(2))
28
>>> print(sys.getsizeof(2 ** 8))
28
>>> print(sys.getsizeof(2 ** 16))
28
>>> print(sys.getsizeof(2 ** 32))
32
>>> print(sys.getsizeof(2 ** 64))
36
>>> print(sys.getsizeof(2 ** 128))
44
>>> 

原码概念:将一个整数,转换成二进制,那么这个二进制就是该整数的二进制原码。

----正数:将该数绝对值转换为二进制;如:5 的原码就是 0000 0101 。

----负数:将该数绝对值转换为二进制,然后对高位补1,这个1的位置就是符号位;如:-5 的原码就是 1000 0101 。


反码概念:正数的二进制反码就是其二进制原码,负数的二进制反码就是将该数的二进制原码除符号位以外,每一位取反。

----正数:将该数的二进制原码不变就是该数的二进制反码;如:5 的反码就是 0000 0101 。

----负数:将该数的二进制原码除符号位外,每一位取反就是该数的二进制反码;如:-5 的原码就是 1111 1010 。


补码概念:正数的二进制补码就是其二进制原码,负数的二进制补码就是将该数的二进制反码 + 1。

----正数:将该数的二进制原码不变就是该数的二进制补码;如:5 的补码就是 0000 0101 。

----负数:将该数的二进制反码 + 1 就是该数的二进制补码;如:-5 的原码就是 1111 1011 。


进制对应关系:

 微信扫码关注公众号《小九爱学习》

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值