码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • DJ2-1 数据信息的表示方法(第二节课)


    目录

    一、带符号数的表示

    1. 原码

    2. 补码

    3. 反码

    4. 移码

    二、定点数与定点表示法

    1. 带符号的定点小数

    2. 带符号的定点整数

    3. 无符号定点整数

    三、浮点数与浮点表示法

    1. 原理性的浮点数表示法

    2. IEEE754 标准的浮点表示法

    - 第一题

    - 第二题

    四、字符的表示方法(非数值型数据)


    一、带符号数的表示

    数的符号表示法

    1. 原码

    • 最高位为符号位,其余为有效数值位
    • 有效数值位用二进制真值的绝对值来表示

     

    2. 补码

    • 最高位为符号位
    • 对于正数,有效数值部分为二进制真值的绝对值
    • 对于负数,有效数值部分是将真值的绝对值按位取反,且末位加1

    这个只是补码的便捷求取方式,并不是原理性求取方式。


    原码与补码之间的转换

    分情况进行讨论:


    3. 反码

    • 最高位为符号位
    • 对于正数,有效数值部分为二进制真值的绝对值
    • 对于负数,有效数值部分是将真值的绝对值按位取反

    4. 移码

    在计算机中,移码通常用于表示浮点数的阶码。由于阶码一般取整数,所以移码通常只用于表示整数。

    真值与移码对应图:

    移码定义中的 X 加上 2^n 等价于将 X 正向平移 2^n ,因此称为移码。

    由于 -2^n 是 n+1 位补码所能表示的最小负数,且 -2^n + 2^n = 0,因此可以认为移码就是无符号整数。

    二、定点数与定点表示法

    定点表示法:程序中所有数的小数点固定在同一位置不变。 

    1. 带符号的定点小数

    约定所有数的小数点的位置固定在符号位之后。

    计算机中没有硬件用于存储小数点,小数点是隐含约定的。

    2. 带符号的定点整数

    约定所有数的小数点的位置固定在最低数值位之后。

    计算机中没有硬件用于存储小数点,小数点是隐含约定的。

    3. 无符号定点整数

    约定所有数的小数点的位置固定在最低数值位之后。

    用于表示不带符号的定点正整数。 

    计算机中没有硬件用于存储小数点,小数点是隐含约定的。

    三、浮点数与浮点表示法

    1. 原理性的浮点数表示法

     

    • R:阶码底,等于所选计数制的基数,是隐含约定的,一般为2。
    • E:阶码,为定点整数,用补码或移码表示。
    • M:尾数,为定点小数,用补码或原码表示。

     


    尾数的规格化

    对于原码:规格化的特征是尾数最高有效位为 1

    对于补码:

    • 对于正数,规格化的特征是最高有效位为 1
    • 对于负数,规格化的特征是最高有效位为 0

    2. IEEE754 标准的浮点表示法

    • S:符号位,0 表示正数,1 表示负数。
    • E:阶码,长度为 8 位。采用非标准的移码方式来表示正负指数,只偏移 2^7 - 1 = 127,即 E = e + 127。
    • M:尾数,长度为23位。采用原码方式,用纯小数表示。
    • 隐含约定尾数的最高位为1,即尾数为 1.M。

    - 第一题

    例、将十进制数 20.59375 转换成 IEEE754 的 32 位标准浮点数的二进制格式来存储,并写出其 16 进制数。  

    - 第二题

    例、IEEE754单精度浮点数 C0A00000H 的十进制值是多少? 

    不要忘了正在处理的数据是什么计数制!

    四、字符的表示方法(非数值型数据)

    ASCII码:128种常用字符,7位,最高位可以设置为奇偶校验位,共8位表示。

    只需记忆常用的符号和控制字符。

  • 相关阅读:
    【Python自然语言处理】使用SVM、随机森林法、梯度法等多种方法对病人罹患癌症预测实战(超详细 附源码)
    【ASE入门学习】ASE入门系列二十——flowmap
    另眼旁观 Linkerd 2.12 的发布:服务网格标准的曙光?
    java毕业设计哈尔滨文旅信息网站(附源码、数据库)
    解决发邮件错误javax.mail.MessagingException: Could not connect to SMTP host
    (算法设计与分析)第二章递归与分治策略-第二节:分治和典型分治问题
    Shell脚本(二)
    自然语言处理从零到入门 NLP
    MyBatis实现MySQL表字段及结构的自动增删
    speaker-test报错问题解决方法
  • 原文地址:https://blog.csdn.net/m0_64140451/article/details/127701895
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号