0
点赞
收藏
分享

微信扫一扫

使用二进制编码的原因、任意进制<-->十进制、二进制<-->八进制及十六进制、真值和机器数

李雨喵 2022-03-26 阅读 27
java

在这里插入图片描述

在计算机系统内部,所有的信息都是用二进制进行编码的,这样做的原因有以下几点:
1)二进制只有两种状态,使用有两个稳定状态的物理器件就可以表示二进制数的每一位,例如用高低电平或电荷的正负极性都可以很方便地表示0和1。
2)二进制位1和0正好与逻辑值“真”和“假”对应,为计算机实现逻辑运算和程序中的逻辑判断提供了便利条件。
3)二进制的编码和运算规则都很简单,通过逻辑门电路能方便地实现算术运算。

1、进制之间的转换

任意进制转十进制

在这里插入图片描述
例如:
在这里插入图片描述

二进制<——>八进制、十六进制

在这里插入图片描述
二进制<- ->八进制、十六进制的方法如上图所示:(十六进制转二进制例子有误)

  • 二进制 --> 八进制、十六进制
    • 注意:小数点前在二进制最前面补0凑齐组,小数点后在最后面补0凑齐组
    • 在二进制转八进制时,3位一组,每组转换成对应的八进制符号
    • 在二进制转十六进制时,4位一组,每组转换成对应的十六进制符号
  • 八进制、十六进制 --> 二进制
    • 注意:必要时去掉整数最高位或小数最低位的0
    • 在八进制转二进制时,每位八进制对应3位二进制
    • 在十六进制转二进制时,每位十六进制对应4位二进制

各种进制的常见书写方式:
B(binary):二进制
8:八进制
D(decimalism):十进制
H(hexadecimal):十六进制(也有用0x作为前缀)
在这里插入图片描述

十进制->任意进制

方法如下图所示,整数和小数部分要分开考虑
在这里插入图片描述
整数:除基取余法,将整数部分不断除以基数r,得到从低位到高位的余数商为0时结束
在这里插入图片描述小数:乘基取整法,将小数部分不断乘以基数r,得到从高位到低位的余数乘积为1.0时结束

注意:在计算机中,小数和整数不一样,整数可以连续表示,但小数是离散的,所以并不是每个十进制小数都可以准确地用二进制表示。例如0.3,无论经过多少次乘二取整转换都无法得到精确的结果。但任意一个二进制小数都可以用十进制小数表示,希望读者引起重视。

2、真值和机器数

在这里插入图片描述

3、小结

在这里插入图片描述

举报

相关推荐

0 条评论