计算机组成原理-->真值,机器数,定点数,浮点数,原反补

1.真值和机器数

真值:正、负号加某进制数绝对值的形式,即机器数所代表的实际值。如-1100

机器数:一个数值数据的机内编码,即符号和数值都数码化的数。常用的有原码和补码表示法。如11100.

2.定点数和浮点数的定义

在计算机中,小数点不用专门的器件表示,而是按照约定的方式标出。

小数点固定的称为定点表示,小数点不固定的叫做浮点表示

在现代计算机中通常用定点补码整数表示整数,用定点原码小数表示浮点数的尾数部分,用移码表示浮点数的阶码部分

2.1定点数及其编码表示

定点数根据小数点的位置可以分为纯小数纯整数

图1

采用定点数的机器称为定点机

数值部分的位数决定了定点机中数的表示范围。

当定点机处理的数不是纯小数或纯整数时,必须乘上一个比例因子,否则会“溢出”。

1.无符号整数的表示

常用无符号整数进行地址运算或者用它来表示指针。

2.有符号整数的表示

最高位用来表示符号位,而不表示数值位。

(1)定点整数和定点小数

   1.原码表示法

用机器数的最高位表示数的符号

其他各位表示数的绝对值

纯小数的原码定义如下:

当是负数时,就相当于1.XXXXXX,1减去这个数就是原码,同理,1加上这个数的绝对值也是原码。

类似,纯整数的原码定义如下:

原码的性质:

1  有符号位和数的绝对值组成

2  简单直观,与真值的转换简单

3  0有正负0两个编码,即[+0]原=00000,[-0]原=10000

4  原码减价运算规则比较复杂,乘除运算规则简单。

   2.补码表示法

纯整数的补码定义为:

我们可以发现,原码和补码的数值部分的绝对值的二进制码加在一起是2的整次幂。

补码的性质:

1  补码和其真值的关系:[x]补=符号位*2^(n+1)+x

2  0的编码唯一,因此整数补码比原码要多一个数,在四位的情况下,补码为1000表示-2^n

3  符号位参与补码的加减运算,统一采用加法操作实现

4.可以实现除法运算。

补码和真值的互相转化:

真转补:正数,与原码的转换方式一样;负数,符号位为1,其它位置由真值“取反+1”.

补转真:符号位为0,真值为正,跟原码的转换一样;若符号位为1,真值为负,其数值部分由补码“取反+1”得到。

变形补码:采用双符号位的补码表示法,定义为

 3.反码表示法

很简单,在C语言当中已经写过了。直接截图过来把

 4.移码表示法

移码表示法,其实就是用无符号数按照一个方向去一一对应有符号数。因此它非常容易进行比较操作。

移码的0的表示唯一

移码经常用于表示浮点数的阶码,它只能表示整数。

一个真值的移码和补码仅仅只有符号位不同,符号位取反即可互相转换。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/625222.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis五种类型介绍

Redis是一种内存数据存储系统,它支持五种不同的数据类型: 1. String String是Redis中最基本的数据类型,它可以存储任何形式的字符串数据,例如普通的文本字符串,二进制数据或JSON格式的数据。除此之外,还可以…

STM32有什么高速接口吗?

STM32系列微控制器在高速接口方面也提供了一些强大的功能,虽然没有像Zynq那样的可编程逻辑部分,但有一些特性值得注意。我这里有一套嵌入式入门教程,不仅包含了详细的视频 讲解,项目实战。如果你渴望学习嵌入式,不妨点…

python创建word文档并向word中写数据

一、docx库的安装方法 python创建word文档需要用到docx库,安装命令如下: pip install python-docx 注意,安装的是python-docx。 二、使用方法 使用方法有很多,这里只介绍创建文档并向文档中写入数据。 import docxmydocdocx.Do…

LabVIEW变速箱自动测试系统

LabVIEW变速箱自动测试系统 在农业生产中,采棉机作为重要的农用机械,其高效稳定的运行对提高采棉效率具有重要意义。然而,传统的采棉机变速箱测试方法存在测试效率低、成本高、对设备可能产生损害等问题。为了解决这些问题,开发了…

Python赋能AI数据分析开启人工智能新时代

文章目录 一、Python是办公自动化的重要工具二、Python是提升职场竞争力的利器三、Python是企业数字化的重要平台四、Python是AI发展的重要通道之一《编程菜鸟学Python数据分析》编辑推荐内容简介作者简介目录前言为什么要写这本书读者对象如何阅读本书 随着我国企业数字化和信…

蓝桥杯 — — 完全日期

完全日期 友情链接:完全日期 题目: 思路: 直接从20010101枚举到20211231,然后再判断每一个数是否是一个合法的日期,如果这个日期是合法的,接着判断这个日期的每一个位置上的数字之和是否是一个完全平方数…

图片转表格怎么显示两位小数字?

图片转表格的核心机制在于利用OCR技术,将图片上的表格文字精准转化为计算机能够理解的表格数据。然而,在进行这一转换过程中,为了防止出现科学计数法等复杂显示方式,程序默认会将所有单元格设置为字符串格式。这虽然保证了转换的准…

【C++学习】C++IO流

这里写目录标题 🚀C语言的输入与输出🚀什么是流🚀CIO流🚀C标准IO流🚀C文件IO流 🚀C语言的输入与输出 C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输入设备(键盘)读取…

智谱AI通用大模型:官方开放API开发基础

目录 一、模型介绍 1.1主要模型 1.2 计费单价 二、前置条件 2.1 申请API Key 三、基于SDK开发 3.1 Maven引入SDK 3.2 代码实现 3.3 运行代码 一、模型介绍 GLM-4是智谱AI发布的新一代基座大模型,整体性能相比GLM3提升60%,支持128K上下文&#x…

pandas基本用法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas的数据结构1、一维数组pd.Series1.1 pd.Series(data,index,dtype)示例1:不定义index示例2:自定义inde…

操作系统—GCC与编译全流程

文章目录 GCC与编译全流程1.GCC是什么?2.编译全流程(1).GCC到底做了哪些事情?(2).预处理I.预处理会做什么II.预处理器主要包含什么?III.宏的一些魔法 (3).编译I.基本流程II.编译优化III.一点例子 (4).汇编(5).链接(6).说到这里,为…

Java之二维数组

使用二维数组: 引用二维数组元素需要指明行下标和列下标。二维数组有两个指标,行数使用“数组名.length",每行的列数使用“数组名[i].length”。遍历是二维数组的基本算法,使用双重循环遍历二维数组。外层循环控制行,内存循环…