計算機算術7-浮點基礎知識

1. 浮點表示

截屏2025-08-23 10.30.05.png

其中b表示基底,e表示指數,s表示尾數,注意在s的表示過程中,有個隱藏1.同時還有個符號位
截屏2025-08-23 10.31.08.png
從下面這個圖可以看出,向上溢出和向下溢出的概念,overflow表示的是數的絕對值超過了最大的表示范圍;向下溢出(underflow)表示的是數的絕對值小于最小能表示的范圍(除0以外)
截屏2025-08-23 10.34.43.png

2. IEEE浮點數格式

2.1 hp/sp/dp 表示

主要以單精度浮點數為例,1bit符號位,8bit指數位,23bit尾數位。其中指數位表示的指數等于true_exp +bias。23bit尾數位,還需要加上一個隱藏位才是真正的尾數表示。
截屏2025-08-23 10.39.22.png

2.2 特殊數表示

包括0/無窮/subnormal/NaN等。其中可以注意一下尾數范圍的表示方法。
截屏2025-08-23 10.58.15.png

3. 基本的浮點運算

3.1 浮點加法

小階向大階看齊,指數對齊之后然后進行加減運算。大階不向小階看齊的原因是對其運算之后,尾數還得進行移位,指數還得運算。加運算之后,尾數的結果范圍是(1, 4), 可能產生進位,指數需要加1;減運算之后,尾數的結果是(0,2), 可能非常接近于0,尾數需要左移動,指數減去尾數前導零。
截屏2025-08-25 22.28.58.png

3.2 浮點乘法

如果兩個數都是normal的數,那么s1s2的范圍是(1, 4), 歸一化之后,指數最多只需要加1,但是如果支持subnormal的數,那么s1s2的范圍就是(0, 4),尾數可能有許多前導0,這樣尾數就需要左移。
截屏2025-08-25 22.46.03.png

3.3 浮點除法

浮點除法的難點和浮點乘法一樣,當兩個數都是normal的情況下,s1/s2的結果仍然是normal的,指數相減之后即可處理。但是如果存在subnormal的情況,我們一般會先進行尾數移位,將尾數的范圍限制在[1,2)之間,然后進行處理。
截屏2025-08-25 22.56.47.png

3.4 乘累加

乘累加在乘法過程中是不會進行舍入的,也即乘法過程不允許有精度損失
截屏2025-08-25 23.00.51.png

3.5 開根號

先將指數變為偶數,然后再進行開根。
截屏2025-08-25 23.02.03.png

4. 舍入模式

總共有5種舍入模式,四舍五入,向偶數舍入;四舍五入,向奇數舍入
截屏2025-08-25 23.10.25.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/95173.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/95173.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/95173.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

設計模式8-命令模式

定義 Command Partern: 將一個請求封裝成一個對象,從而讓你使用不同的請求把客戶端參數化,對請求排隊或者記錄請求日志,可以提供命令的撤銷和恢復功能。(核心思想是將“動作”與“執行者”解耦) 場景 GUI:…

數據結構(順序表力扣刷題)

1.移除元素 給你一個數組 nums 和一個值 val,你需要 原地 移除所有數值等于 val 的元素。元素的順序可能發生改變。然后返回 nums 中與 val 不同的元素的數量。 假設 nums 中不等于 val 的元素數量為 k,要通過此題,您需要執行以下操作&…

機器學習 - Kaggle項目實踐(6)Dogs vs. Cats Redux: Kernels Edition 貓狗二分類

Dogs vs. Cats Redux: Kernels Edition | Kaggle 任務:給定貓狗圖像數據集 進行二分類。 Cats or Dogs - using CNN with Transfer Learning | Kaggle(參考) Cats or Dogs | Kaggle (我的kaggle) 本文介紹了使用Re…

基礎的匯編指令

目錄 1、接上一個csdn特殊功能寄存器 1.1CPSR寄存器 1.2SPSR寄存器 1.3CPSR寄存器的高四位和第四位 ?編輯 2、匯編指令的分類 3、匯編指令的基本格式 4、數據搬移指令(賦值指令) 4.1指令碼 4.2指令格式 4.3測試代碼 4.5立即數 4.6ldr偽指令 …

Docker實戰避坑指南:從入門到精通

摘要:文人結合自身微服務實踐,系統梳理從安裝適配、鏡像拉取,到運行配置、構建優化、多容器編排、數據持久化、監控運維等 Docker 全流程高頻踩坑點,給出可落地的解決方案,幫助讀者快速規避同類問題并提升容器化效率。…

《Bishop PRML》10.1. Variational Inference(2)理解VAE

通過VAE與AE理解變分分布的變量 如何理解變分推斷公式中,Z和X的含義是什么? 知乎 變分自編碼器VAE的數學原理。 csdn 變分自編碼器(VAE)的數學原理以及實現 Loss functions in Variational Autoencoders (VAEs) 一文解釋 VAE+ELBO AE的編碼和解碼是確定性的。VAE的解碼過程…

函數調用中的初始化與賦值——深入理解C++對象的生命周期

技術博客:函數調用中的初始化與賦值——深入理解C對象的生命周期引言在C編程中,理解函數調用過程中參數傳遞、對象創建和返回值處理的細節對于編寫高效且無誤的代碼至關重要。本文將通過一個具體的例子來探討函數調用時實參到形參的轉換過程,…

矩陣微積分的鏈式法則(chain rule)

矩陣微積分的鏈式法則(chain rule)與標量情況一樣,用于求復合函數的導數,但由于涉及矩陣和向量的求導,維度匹配和布局約定(numerator-layout vs. denominator-layout)必須格外小心。下面給出常見…

網絡編程4-并發服務器、阻塞與非阻塞IO、信號驅動模型、IO多路復用..

一、并發服務器1、單循環服務器(順序處理) 一次只能處理一個客戶端連接,只有當前客戶端斷開連接后,才能接受新的客戶端連接2、多進程/多線程并發服務器while(1) {connfd accept(listenfd);pid fork(); // 或 pthread_cr…

在 WSL2-NVIDIA-Workbench 中安裝Anaconda、CUDA 13.0、cuDNN 9.12 及 PyTorch(含完整環境驗證)

在 WSL-NVIDIA-Workbench(NVIDIA AI Workbench & Ubuntu 22.04)中 安裝 Anaconda、CUDA 13.0、cuDNN 9.12 及 PyTorch 步驟也可參閱: 在WSL2-Ubuntu中安裝Anaconda、CUDA13.0、cuDNN9.12及PyTorch(含完整環境驗證&#xf…

Shell編程核心入門:參數傳遞、運算符與流程控制全解析

Shell編程核心入門:參數傳遞、運算符與流程控制全解析 在Linux/Unix系統中,Shell作為命令解釋器和腳本語言,是自動化運維、批量處理任務的核心工具。掌握Shell腳本的參數傳遞、運算符使用和流程控制,能讓你從“手動執行命令”升級…

如何用 Kotlin 在 Android 手機開發一個應用程序獲取網絡時間

使用 NTP 協議獲取網絡時間在 build.gradle 文件中添加以下依賴:implementation commons-net:commons-net:3.6創建 NTP 時間獲取工具類:import org.apache.commons.net.ntp.NTPUDPClient import org.apache.commons.net.ntp.TimeInfo import java.net.In…

python智慧交通數據分析可視化系統 車流實時檢測分析 深度學習 車流量實時檢測跟蹤 軌跡跟蹤 畢業設計?

博主介紹:?全網粉絲50W,前互聯網大廠軟件研發、集結碩博英豪成立軟件開發工作室,專注于計算機相關專業項目實戰6年之久,累計開發項目作品上萬套。憑借豐富的經驗與專業實力,已幫助成千上萬的學生順利畢業,…

計算機視覺第一課opencv(四)保姆級教學

目錄 簡介 一、輪廓檢測 1.查找輪廓的API 2.代碼分析 2.1.圖像二值化處理 2.2輪廓檢測 2.3輪廓繪制 2.4輪廓面積計算 2.5輪廓周長計算 2.6篩選特定面積的輪廓 2.7查找最大面積的輪廓 2.8繪制輪廓的外接圓 2.9繪制輪廓的外接矩形 二、輪廓的近似 三、模板匹配 簡…

基于Vue2+elementUi實現樹形 橫向 合并 table不規則表格

1、實現效果 共N行&#xff0c;但是每一列對應的單元格列數固定&#xff0c;行數不固定2、實現方式說明&#xff1a;使用的是vue2 elementUI表格組件 js實現<template><div class"table-container" ><el-table height"100%" :span-metho…

深度學習在計算機視覺中的應用:對象檢測

引言 對象檢測是計算機視覺領域中的一項基礎任務&#xff0c;目標是在圖像或視頻幀中識別和定位感興趣的對象。隨著深度學習技術的發展&#xff0c;對象檢測的準確性和效率都有了顯著提升。本文將詳細介紹如何使用深度學習進行對象檢測&#xff0c;并提供一個實踐案例。 環境準…

node.js 安裝步驟

在Node.js中安裝包通常通過npm(Node Package Manager)來完成,這是Node.js的包管理工具。以下是安裝Node.js和通過npm安裝包的基本步驟: 1. 安裝Node.js 方法一:使用nvm(Node Version Manager) 推薦使用nvm來安裝Node.js,因為它允許你安裝多個Node.js版本,并輕松地在…

面試-故障案例解析

一、NFS故障&#xff0c;造成系統cpu使用率低而負載極高。故障概述: 公司使用NFS為web節點提供共享存儲服務,某一天下午發現web節點CPU使用率低,而負載極高.登錄web節點服務器排查發現后段NFS服務器故障. 影響范圍: 網站看不到圖片了。 處理流程: 通過ssh登錄NFS服務…

醫療AI時代的生物醫學Go編程:高性能計算與精準醫療的案例分析(一)

摘要: 隨著高通量測序、醫學影像和電子病歷等生物醫學數據的爆炸式增長,對高效、可靠、可擴展的計算工具需求日益迫切。Go語言憑借其原生并發模型、卓越的性能、簡潔的語法和強大的標準庫,在生物醫學信息學領域展現出獨特優勢。本文以“生物醫學Go編程探析”為主題,通過三個…

針對 “TCP 連接建立階段” 的攻擊

針對 “TCP 連接建立階段” 的攻擊一、定義二、共性防御思路三、攻擊手段3.1、SYN 洪水攻擊&#xff08;SYN Flood&#xff09;3.2、Land 攻擊&#xff08;Land Attack&#xff09;一、定義 什么是針對 “TCP 連接建立階段” 的攻擊&#xff1f;核心特征是利用 TCP “三次握手…