iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >计算机组成原理机器数概念与转换的方法是什么
  • 567
分享到

计算机组成原理机器数概念与转换的方法是什么

计算机 2023-04-12 20:04:36 567人浏览 泡泡鱼
摘要

本文小编为大家详细介绍“计算机组成原理机器数概念与转换的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“计算机组成原理机器数概念与转换的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深

本文小编为大家详细介绍“计算机组成原理机器数概念与转换的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“计算机组成原理机器数概念与转换的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

    一、原码、反码、补码、移码的概念

    1. 真值 

    二进制数和十进制数一样有正负之分。书写时可以用"+"和"-"来表示数据的符号,这种书写格式称为真值。

    例如:十进制的+3和-5,二进制的+011和-101都是真值。   

    2. 机器数

    由于数据只有正、负两种符号,因此在计算机中很自然就采用二进制的0和1来表示数据的符号,由符号和数值一起编码表示的二进制数称为机器数或机器码。常用的机器数有原码、反码、补码和移码。 

    例如:(这里的机器数都是原码)1,0001第一位表示符号位,1表示负数,逗号将符号位和数值位区分开,逗号后面的是数值位,0001是二进制,所以转换为十进制后,真值就是 -1;

    再比如   0,101表示的十进制数的真值是+5。 

    1. 原码

    原码就是符号化的数值,其编码规则简单直观:正数符号位用0表示,负数符号位用1表示,数值位保持不变。

    例如:

    x=+0.1101,则[x]原=0.1101;x=+1101,则[x]原=01101

    x= -0.1111,则[x]原=1.1111; x= -1111,则[x]原=11111 

    原码数据表示简单直观,只需将符号位加上二进制数的绝对值即可。但原码存在两个机器0,这会给数据运算带来麻烦。另外原码的加减法运算复杂,符号位不能直接参与运算。加法运算需要“同号求和,异号求差”,减法运算需要“一号求和,同好求差”,求差时还需要先比较大小,然后用大数减去小数,最后结果的符号选择也相对复杂。显然,利用原码作为机器数在实现加减法运算方面是不方便的,原码在计算机中目前仅仅用于表示浮点数的尾码。 

    2. 反码 

    反码又称1的补码,其符号位和原码相同,真值为正数时,反码和原码相同;真值为负数时,反码数值位为真值数值位取反。 

    例如:

    x=+0.1101,则[x]反=0.1101;x=+1101,则[x]反=01101 

    x= -0.1111,则[x]反=1.0000;x= -1111,则[x]反=10000

    反码的符号位和原码相同,当真值为负数时,数值位需要逐位取反。同样反码也存在+0和-0两个0.反码的加减运算较原码略简单,其符号位可以直接参与运算,加法运算直接将反码相加即可,但最高位进位要从运算结果最低位相加(循环进位)。减法运算只需要将被减数的反码加上减数负数的反码即可,同样也要采用循环进位的运算方法。但尽管如此,现代计算机中并没有采用反码进行数据表示和运算,这是因为人们找到了更好的编码——补码。

    3. 补码

    计算机中的二进制数据都有字长的限制,数据最高位进位的位权值就是模数,运算结果超过模数的部分都会被自动舍弃,所以计算机二进制数据的运算属于典型的有模运算,非常适合采用补码进行表示和运算。 

    例如:

    x=+0.0101,则[x]补=0.0101;

    x= -0.0101,则[x]补=1.1011;

    x= -0.0000,则[x]补=0.0000;

    x= -1.0000,则[x]补=1.0000;

    补码的表示相对原码更加复杂,但其只有唯一的0,符号位可以直接参与运算,运算时符号位的进位作为模会自动舍弃,其独特的表示方法使得减法运算可以转换成加法运算,大大方便了二进制的运算。目前计算机中普遍采用补码表示有符号整数。 

    4. 移码 

    移码只用于定点整数的表示,通常用于表示浮点数的阶码。其编码方式是直接将真值x加一个常数偏移量。

    例如:

    x=+1010110,则[x]移=11010110;

    x= -1010110,则[x]移=00101010; 

    移码具有以下特点:

    ① 移码的符号位中0表示负数,1表示正数;

    ② 同一数值的移码和补码除符号位相反外,其他各位相同;

    ③ 移码中0的表示也唯一,具体表示为100000……。 

    二、原码、反码、补码、移码的转换 

    1. 原码转反码

    当原码的真值为正数时,反码的机器数就等于原码的机器数

    当原码的真值为负数时,反码的机器数等于原码的机器数取反(符号位不变)

    例如:

    x=+0.1101,则[x]反=0.1101;x=+1101,则[x]反=01101 

    x= -0.1111,则[x]反=1.0000;x= -1111,则[x]反=10000

    2. 原码转补码 

    当原码的真值为正数时,补码的机器数就等于原码的机器数

    当原码的真值为负数时,补码的机器数等于原码的机器数取反再加1(符号位不变) 

    例如:

    x=+0.0101,则[x]补=0.0101;

    x= -0.0101,则[x]补=1.1011;

    x= -0.0000,则[x]补=0.0000;

    x= -1.0000,则[x]补=1.0000;

    简单来说,原码的反码加1就是补码 

    3. 原码转移码 

    当原码的真值为正数时,移码的机器数等于原码,但是符号位要改变

    当原码的真值为负数时,移码的机器数等于原码机器数取反加1(符号位取反) 

    例如:

    x=+1010110,则[x]移=11010110;

    x= -1010110,则[x]移=00101010; 

    简单来说,原码的补码数值位不变,符号位取反就是移码

    读到这里,这篇“计算机组成原理机器数概念与转换的方法是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程服务器栏目。

    --结束END--

    本文标题: 计算机组成原理机器数概念与转换的方法是什么

    本文链接: https://www.lsjlt.com/news/201454.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 计算机组成原理机器数概念与转换的方法是什么
      本文小编为大家详细介绍“计算机组成原理机器数概念与转换的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“计算机组成原理机器数概念与转换的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深...
      99+
      2023-04-12
      计算机
    • 浅析计算机组成原理机器数概念与转换
      目录一、原码、反码、补码、移码的概念1. 真值 2. 机器数1. 原码2. 反码 3. 补码4. 移码 二、原码、反码、补码、移码的转换 1....
      99+
      2023-05-14
      计算机组成原理 计算机机器数概念 机器数转换
    • Python中numpy数组的计算与转置的方法是什么
      本篇内容介绍了“Python中numpy数组的计算与转置的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、numpy数组与数的运...
      99+
      2023-06-21
    • 计算机内存的工作原理是什么
      计算机内存的工作原理是:内存寻址内存可以从CPU获得查找某个数据的指令,在找出存取资料的位置,其会先定出横坐标,在定出纵坐标。内存传输当储存资料或从内存内部读取资料时,CPU会通过地址总线将地址送到内存,后由数据总线将对应的数据传输到微处理...
      99+
      2024-04-02
    • 计算机网络通信的原理是什么
      本篇内容介绍了“计算机网络通信的原理是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!成为"黑客"前,必须学习的&qu...
      99+
      2023-06-03
    • java生成随机数的原理是什么
      java生成随机数的原理是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程...
      99+
      2023-06-14
    • Java中实现随机数算法的原理是什么
      本篇文章为大家展示了Java中实现随机数算法的原理是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。软件实现的算法都是伪随机算法,随机种子一般是系统时间在数论中,线性同余方程是最基本的同余方程,“...
      99+
      2023-05-31
      java ava
    • vb生成随机数组排序的方法是什么
      在VB中,可以使用Random类生成随机数,并使用Array类的Sort方法对数组进行排序。以下是一个示例代码:```vbImpor...
      99+
      2023-10-12
      vb
    • 现代计算机的基本工作原理是什么
      现代计算机的基本工作原理是基于数值计算和逻辑运算的,通过硬件和软件的协同工作,实现了数据的存储、处理和输出。计算机的工作原理涉及到指令的执行、数据的传输和存储器的层次结构等方面,这些原理的理解和应用,是程序员进行软件开发和系统维护的基础。本...
      99+
      2023-08-15
    • 计算机网络TCP与UDP两者区别及原理是什么
      这篇文章将为大家详细讲解有关计算机网络TCP与UDP两者区别及原理是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、概念UDP和TCP 在使用TCP/IP 体系结构的网络通信中,这两个...
      99+
      2023-06-25
    • 交换机的基本配置与管理方法是什么
      本篇内容介绍了“交换机的基本配置与管理方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!某公司新进一批交换机,在投入网络以后要进行初始...
      99+
      2023-06-03
    • Exalogic Ethernet交换机配置的备份与还原方法是什么
      本篇内容主要讲解“Exalogic Ethernet交换机配置的备份与还原方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Exalogic Ethern...
      99+
      2024-04-02
    • uniCloud-db组件与JQL语法的转换的方法是什么
      这篇“uniCloud-db组件与JQL语法的转换的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“uniCloud...
      99+
      2023-07-05
    • WinForm与云计算服务集成的方法是什么
      WinForm与云计算服务集成的方法可以通过以下几种方式实现: 使用云计算服务的API:大多数云计算服务提供了API接口,可以通...
      99+
      2024-05-09
      WinForm
    • Android广播机制原理与开发的方法是什么
      今天小编给大家分享一下Android广播机制原理与开发的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。广播机制简介...
      99+
      2023-07-05
    • 计算机中旋转图片的快捷方式是什么
      小编给大家分享一下计算机中旋转图片的快捷方式是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!旋转图片的快捷方式是:1、从左向右顺时针旋转的快捷键是“Ctrl+...
      99+
      2023-06-20
    • C语言生成随机数的原理是什么
      本篇内容介绍了“C语言生成随机数的原理是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、引言C语言中生成随机数是一项非常重要的功能,因...
      99+
      2023-07-05
    • 计算机中能直接与CPU交换信息的存储器是什么
      这篇文章主要介绍了计算机中能直接与CPU交换信息的存储器是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。能直接与CPU交换信息的存储器是:内存储器。内存储器是计算机主机的...
      99+
      2023-06-14
    • oracle生成随机数的方法是什么
      在Oracle数据库中,可以使用DBMS_RANDOM包来生成随机数。以下是一些常用的方法: 使用DBMS_RANDOM.VALU...
      99+
      2024-04-09
      oracle
    • Python生成随机数的方法是什么
      Python生成随机数的方法有两种: 使用random模块:可以使用random模块中的randint()函数生成指定范围的整数随...
      99+
      2024-03-05
      python
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作