第一章 计算机硬件基础(定点数与浮点数)

2024-03-09 01:12

本文主要是介绍第一章 计算机硬件基础(定点数与浮点数),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数的表示

1、定点数

定点整数

(1)有符号定点整数(XnXn-1…X3X2X1X0)

有符号定点整数是纯整数,小数点在最低位之后,最高位为符号位(Xn)。常用补码表示,也用原码表示。

表示范围:

补码定点整数表示范围:-(2^{n}-1)~(2^{n}-1)

例:16bit表示的定点有符号整数:

                      X15                                                                                                   X0

S

补码数据格式:数值范围-2^{15}2^{15}-1(减一是因为有个数字0,+0和-0的补码是一样的0000  0000)

  原码数据格式:数值范围-(2^{15}-1)~2^{15}-1(+0的原码是0000 0000,-0的原码是1000 0000)

原码,补码定点整数分辨率:1

(2)无符号定点整数(XnXn-1…X3X2X1X0)

无符号定点整数没有符号位,所以它的全部数位都用来表示数字,且它的小数点隐含在最低位后,在数码序列中并不存在。

表示范围:这种方法表示数的大小(正负方向),无符号定点整数范围:0~2^{n+1}-1

分辨率:精度,1(即最小非零正数)

例:16bit表示的定点无符号整数:

                      X15                                                                                                   X0

                    定点无符号数格式:数值范围0~2^{16}-1

定点小数

带符号定点小数是纯小数。最高位是符号位(X0),小数点位置在符号位之后。小数点之后的内容是数值的有效部分,常称为尾数。

例:X0.X1X2X3X4X5…Xn    

原码定点小数表示范围:-(1-2^{-n})~(1-2^{-n}

补码定点小数表示范围:-1~(1-2^{-n}

分辨率:2^{-n}(最小正数)

例:8bit表示的定点有符号小数:

                      X0    .  X1                                                                                           X15

S

          原码定点小数表示范围:-(1-2^{-15})~(1-2^{-15})【1.11…111111~0.11…111111】

         补码定点小数表示范围:-1~(1-2^{-15})【1.000…0000(表示的是-1)~0.1111…111111】

     总结:由于补码表示0的唯一性,补码比原码少一个-0的表示,多一个-1的表示。以及负整数表示范围多了一个-2^{15}

2、浮点数

是一种小数点位置不可固定可随需要浮动的数。

(1)浮点数表示

符号位阶码尾数
SEM

按IEEE754标准,32位浮点数的标准格式为:

                  31        30                                                     23  22                               0

SEM

S是浮点数的符号位,占1位,安排在最高位,S=0表示整数,S=1表示负数。

M是尾数,放在低位部分,占用23位,小数点位置放在尾数域最左(最高)有效位的右边。

E是阶码,占8位,采用隐含方式,采用移码方式表示正负指数。采用这种方式时,将浮点数的指数真值e变成阶码E时,应将指数e加上一个固定的偏移值127(01111111),即E=e+127

 一个规格化的32位浮点数x的真值表示为
x = (-1) ^s X(1.M)X 2^(E-127)
e = E - 127
其中尾数域所表示的值是1.M。由于规格化的浮点数的尾数域最左位(最高有效位)总是1,故这一位经常不予存储,而认为隐藏在小数点的左边。于是用23位字段可以存储24位有效数。

例:若浮点数x的754标准存储格式为(41360000)16,求其浮点数的十进制数值。
解:将16进制数展开后,可得二进制数格式为

0   100 0001 0011  0110  0000   0000   0000   0000

  阶码(8位)             尾数(23位)

指数e=阶码-127=10000010-01111111=00000011=3(10)

1.M=1.011  0110 0000 0000 0000 0000=1.011 011

带入公式-1^{S}×1.M×2^{e}=+(1.011011)×2^{3}=1011.011(往右移动三位)=(11.375)10

这篇关于第一章 计算机硬件基础(定点数与浮点数)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/789064

相关文章

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

python操作redis基础

《python操作redis基础》Redis(RemoteDictionaryServer)是一个开源的、基于内存的键值对(Key-Value)存储系统,它通常用作数据库、缓存和消息代理,这篇文章... 目录1. Redis 简介2. 前提条件3. 安装 python Redis 客户端库4. 连接到 Re

SpringBoot基础框架详解

《SpringBoot基础框架详解》SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等,使用SpringBoot可以不用或者只需要很少的Spring配置就可以让企业项目快... 目录SpringBoot基础 – 框架介绍1.SpringBoot介绍1.1 概述1.2 核心功能2

Spring Boot集成SLF4j从基础到高级实践(最新推荐)

《SpringBoot集成SLF4j从基础到高级实践(最新推荐)》SLF4j(SimpleLoggingFacadeforJava)是一个日志门面(Facade),不是具体的日志实现,这篇文章主要介... 目录一、日志框架概述与SLF4j简介1.1 为什么需要日志框架1.2 主流日志框架对比1.3 SLF4

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin

MySQL复合查询从基础到多表关联与高级技巧全解析

《MySQL复合查询从基础到多表关联与高级技巧全解析》本文主要讲解了在MySQL中的复合查询,下面是关于本文章所需要数据的建表语句,感兴趣的朋友跟随小编一起看看吧... 目录前言:1.基本查询回顾:1.1.查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J1.2.按照部门

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键