数据的表示与机器级处理

本文详细介绍了计算机内部为何使用二进制表示,以及八进制和十六进制的作用。讨论了不同进制间的转换方法,并详细阐述了定点数的编码方式,包括原码、移码和补码,强调了补码在解决正负号问题上的重要性。此外,还解释了如何通过不同的编码解决数值数据的表示问题。
摘要由CSDN通过智能技术生成

一些要明白的事情

一、在计算机系统内部,所有信息都是用二进制进行编码的也就是。说计算机内部采用的是二进制表示方式。这样做的原因是什么?

1.二进制只有两种基本状态,使用有两个稳定状态的物理器件就可以表示二进制数的每一位,而制造有两个稳定状态的物理器件要比制造有多个稳定状态的物理器件容易得多。例如,用高、低两个电位,或用脉冲的有、无,脉冲的正、负极性都可以很方便、很可靠的表示“0”和“1”。
2. 二进制编码、计数和运算规则都很简单,可用开关电路实现。
3. 两个符号“0”和“1”正好与逻辑命题的两个值“假”和“真”对应,为计算机中实现逻辑运算和程序中实现逻辑判断提供了便利条件,特别是能通过逻辑门电路方便的实现计算算数运算(这一点为什么你可以思考一下)。

二、为什么引入八进制、十六进制
八进制、十六进制的引入是为了便于阅读和书写。它们与二进制对应关系简单容易表示。在屏幕或其他设备上显示时,转换为八/十六可以缩短长度。

三、怎样确定一个数值数据
1.进位计数制
2.定、浮点表示(解决小数点问题)定点数有定点整数和定点小数,浮点数用一个定点小数和定点整数来表示
3.定点数编码(解决正负号问题)
以上三点缺一不可




关于数制

1.R进制转换成十进制

按权展开

2.十进制化为二进制

整数部分:除基取余,上右下左
小数部分:乘基取整,上左下右

3.二、八、十六进制转换

3.1八进制 ⇒ 二进制

把八进制数每一位改写成等值的3位二进制数

3.2十六进制 ⇒ 二进制

十六进制数每一位改写成等值的4位二进制数

3.3二进制 ⇒ 八进制

整数部分:从低到高方向每3位用一个等值八进制数来替换,高位不足补0
小数部分:从高向低方向每3位用一个等值八进制数来替换,低位不足补0

3.4二进制 ⇒ 十六进制

整数部分:从低到高方向每4位用一个等值的十六进制数来替换,高位不足补0
小数部分:从高向低方向每4位用一个等值的十六进制数来替换,低位不足补0

定点数编码

1.定点数编码之原码

正数:符号位0,数值部分不变
负数:符号位1,数值部分不变

缺点:0不唯一,加减法不同意,符号位处理麻烦,不利于硬件涉及

2.定点数编码之移码

将每一个数值加上一个偏置常数
通常当编码位数为n时,偏置常数取2n-1或2n-1-1
我们在后面的浮点数中会用到这一概念

3.定点数编码之补码

(插一小句,离散数学中等价类的概念)

3.1真值 ⇒ 补码

正数:同原码
负数:符号位为1,数值部分各位取反,末尾加1

负数简便方法:从右向左遇到的第一个1的前面各位取反

3.2补码 ⇒ 真值

正数:同原码
负数:符号位为1,数值部分各位取反,末尾加1

负数简便方法:从右向左遇到的第一个1的前面各位取反

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值