机器数有无符号数和带符号数之分。无符号数表示正数,在机器数中没有符号位。对于无符号数,若约定小数点的位置在机器数的最低位以后,则是纯整数;若约定小数点的位置在机器数的最高位以前,则是纯小数。对于带符号数,机器数的最高位是表示正、负的符号位,其他位置表示数值。如果小数点的位置在机器数的最低位以后,则是纯整数;如果约定小数点的位置在机器数的最高位以前(符号位以后),则是纯小数。编码

下面是带符号的机器数的原码、反码、补码、移码的编码方法:3d

.原码表示法:数值X的原码记为[X]原,若是机器字长为n(即采用n个二进制位表示数据),则原码的定义以下:

例一:若机器字长n等于8,分别给出+1,-1,+127,-127,+45,-45,+0.5,-0.5的原码表示。blog

[+1]原=0 0000001 [-1]原=1 0000001class

[+127]原=0 1111111      [-127]原=1 1111111基础

[+45]原=0 0101101 [-45]原=1 0101101变量

[+0.5]原=0 。1000000 [-0.5]原=1 。1000000二进制

(“。”表示的是小数点的位置)方法

在原码表示法中,最高位是符号位,0表示符号为正,1表示为负,其他的n-1位表示数的绝对值。数值0的原码有两种形式:  [+0]原=0 0000000,im

[-0]原=1 0000000。d3

(2).反码表示法。数值X的反码记做[X]反,若是机器字长为n,则反码定义以下:

例二:若机器字长n等于8,分别给出+1,-1,+127,-127,+45,-45,+0.5,-0.5的反码表示。

[+1]反=0 0000001 [-1]反=1 1111110

[+127]反=0 1111111      [-127]反=1 0000000

[+45]反=0 0101101 [-45]反=1 1010010

[+0.5]反=0 。1000000 [-0.5]反=1 。0111111

(“。”表示的是小数点的位置)

在反码表示法中,最高位是符号位,0表示符号为正,1表示为负。其中正数的反码与其原码相同,负数的反码是其绝对值按位求反。数值0的反码有两种形式:  [+0]反=0 0000000,

[-0]反=1 1111111。

(3)补码表示法。数值X的补码记做[X]补,若是机器字长为n,则补码定义以下:

例三:若机器字长n等于8,分别给出+1,-1,+127,-127,+45,-45,+0.5,-0.5的反码表示。

[+1]补=0 0000001 [-1]补=1 1111111

[+127]补=0 1111111      [-127]补=1 0000001

[+45]补=0 0101101 [-45]补=1 1010011

[+0.5]补=0 。1000000 [-0.5]补=1 。1000000

(“。”表示的是小数点的位置)

在补码表示法中,最高位是符号位,0表示符号为正,1表示为负。其中正数的补码与其原码相同,负数的反码则等于其反码的末尾加1。数值0的补码有惟一的编码:  [+0]补=0 0000000,[-0]补=0 0000000。

(4)移码表示法:移码表示法是在数X上增长一个偏移变量来定义的,经常使用于表示浮点数中的阶码。若是机器字长为n,规定偏移量为2^(n-1),则移码定义以下:

若X是纯整数,则[X]移=2^(n-1)+X(-2^(n-1)<=X<=2^(n-1));若X是纯小数,则[X]移=1+X(-1<=X<=1)。

[+1]移=1 0000001 [-1]移=0 1111111

[+127]移=1 1111111      [-127]移=0 0000001

[+45]移=1 0101101 [-45]移=0 1010011

[+0.5]移=1 。1000000 [-0.5]移=0 。1000000

[+0]移=1 0000000 [-0]移=1 0000000

实际上,在偏移2^(n-1)的状况下,只要将补码的符号位取反即可得到相应的移码表示。

总结:机器数的原码表示法能够看作以二进制表示,注意在负数的状况下须要将符号位置为1。而反码表示法在整数的状况下是和原码同样的,在负数的状况下,是将原码中除了符号位①之外的全部位置都变为相反的(1变成0,0变成1)。补码表示法在整数的状况下是和原码、反码同样的,而负数状况下是在最后一位加1(注意,是加1,而不是将最后一位变成1)。移码表示法是在补码的基础上不管正负,都把符号位变为相反的(1变成0,0变成1)。

注:①关于符号位的概念开头就讲过了。

计算机数值数据的编码,计算机数值数据编码(原码,反码,补码,移码)相关推荐

  1. 计算机中的原码,计算机中的原码反码补码移码

    计算机中的原码反码补码移码 原码 数值 X 的原码记为 [X]原,如果机器字长为 n (即采用 n 个二进制位表示数据),则最高位是符号位,0 表示正号,1 表示负号,基余的 n~1 位表示数值的绝对 ...

  2. 计算机组成原理——基本组成 进制转化 奇偶校验 原码 反码 补码 移码 移位 原码补码乘法除法 IEEE754 加法器ALU

    笔记来源于王道考研视频 第一章 通过电信号传递信息(低电平代表0,高电平代表1) 计算机系统 计算机系统=硬件+软件 软件 系统软件 应用软件 操作系统,数据库管理系统(DBMS),标准程序库(编程时 ...

  3. 【计算机组成原理】原码 反码 补码 移码的转换

    原码 反码 补码 移码的转换 这三种机器码都是二进制数据的表现形式,可以表现正数和负数. 原码是可以直接表现出数据的正负和大小. 正数的原码.反码和补码都是相同的. 反码用于原码和补码的转换的功能. ...

  4. 原码, 反码, 补码, 移码 详解

    本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...

  5. [例题详解]真值 机器数概念 | 原码 反码 补码 移码 概念及加减计算

    目录 真值和机器数 原码 反码 补码 移码 对比记忆 | 原 反 补 移码 加减法 | 原码 补码 结语 | 大学生学习复习资料 真值和机器数 真值:-5.+10 机器数(带符号数)(= 符号位 [0 ...

  6. 【软考学习2】数据表示——原码 反码 补码 移码

    原码 反码 补码 移码是软考必考的项目,所以需要对其概念.计算方式和取值范围进行总结. 零.使用场景 原码 反码 补码 移码都是计算机中表示数据的方式,各有所长,对于我们来说,都需要加以学习. 软考中 ...

  7. 原码 反码 补码 移码

    原码 反码 补码 移码 在计算机内,机器数分为无符号数和有符号数 无符号数表示正数 没有符号位 原码:最高位为符号位 正数为0 负数为1 反码:原码符号位不变 其余位取反 补码:反码+1 移码:反码的 ...

  8. 原码 反码 补码 移码(变补)补码与移码的作用

    定义 正数: 原码=反码=补码 负数: 原码:符号位+数值位 (符号位0为正数,1为负数) eq: -7 :10000111 反码:符号位不变,其它位取反:11111000 补码:反码+1:11111 ...

  9. 2.2.1 定点数的表示 原码 反码 补码 移码

    没有未来的未来不是我想要的未来 o(╥﹏╥)o (つД`)(ノへ ̄.)哭了 学习的是定点数的表示,那我们首先来认识一下什么叫定点数与定点数相对应的另一个概念叫做浮点数所谓定点数就是指小数点的位置固定不 ...

  10. 【计算机组成原理】原码 反码 补码 移码

    目录 一.原码.反码.补码.移码的概念 1. 真值 2. 机器数 1. 原码 2. 反码 3. 补码 4. 移码 二.原码.反码.补码.移码的转换 1. 原码转反码 2. 原码转补码 3. 原码转移码 ...

最新文章

  1. 2021年春季学期-信号与系统-第四次作业参考答案-第九小题
  2. django 模板语言之 simple_tag 自定义模板
  3. xmpp with openfire之一 xmpp and openfire
  4. 意大利罗马银行连环抢劫案告破 一名警察涉案
  5. “stdafx.h”: No such file or directory
  6. Committee和Virtual Project Team的关系
  7. 【渝粤题库】国家开放大学2021春2476旅游学概论题目
  8. 10本最火的中台与数字化转型图书,朋友圈都在传
  9. 第 6 章 存储 - 039 - Data Volume 之 bind mount
  10. 11.python并发入门(part3 多线程与互斥锁)
  11. UVa815 - Flooded!
  12. 百度的实时搜索架构分析
  13. matlab编写正弦波mif,使用MATLAB一键制作mif文件
  14. 一行R代码画出人口金字塔图
  15. 基于java浏览器的设计与实现_基于java的浏览器的设计与实现论文.docx
  16. 计算机制作请柬,婚礼邀请函制作软件免费版
  17. java 汉字个数_java语言中如何获取字符串中汉字的个数
  18. 从机器学习到大模型(零基础)
  19. 为什么size_t重要?为什么不直接用unigned long int 代替?以及size_t、ptrdiff_t、socklen_t数据类型
  20. 推荐系统中的EE问题——Bandit算法

热门文章

  1. bar()函数——python绘制柱状图
  2. 边城高级中学2021届高考成绩查询,边城高级中学举行2021届高三学生成人礼暨高考誓师大会...
  3. 计算机不能检测到第二个屏幕,Win10检测不到第二个显示器怎么办?Win10第二个显示器不能识别解决方法...
  4. 追踪监听(TraceListener)
  5. 中移4G模块-ML302-OpenCpu开发-2-MQTT连接阿里云
  6. oracle12c清理游标,Oracle专题12之游标
  7. php把服务器文件curl提交,php中使用curl进行文件上传的巨坑
  8. easyx写登入界面_小白入门——easyx界面版“贪吃蛇”的C语言实现(详细)
  9. 第四单元和课程总结:简单的架构设计意识
  10. C#图解教程 第十八章 枚举器和迭代器