标签:#計算機算術

共 45 篇文章

连分数

在數學中,連分數或繁分數即如下表達: :x = a_0 + \cfrac{1}{a_1 + \cfrac{1}{a_2 + \cfrac{1}{a_3 + \cfrac{1}{\ddots\,}}}} 這裡的a_0是某個整數,而所有其他的數a_n都是正整數,可依樣定義出更長的表達式。如果部分分子(partial numerator)和部分分母(partial denominator)允許假定任意的值,在某些上下文中可以包含函數,則最終的…

IEEE 754

IEEE二進位浮點數算術標準(IEEE 754)是20世纪80年代以来最廣泛使用的浮點數運算標準,為許多CPU與浮點運算器所採用。這個標準定義了表示浮點數的格式(包括負零-0)與反常值(denormal number),無窮(Inf)與非數值(NaN),以及這些數值的「浮點數運算子」;它也指明了四種數值修約規則和五種例外狀況(包括例外發生的時機與處理方式)。 IEEE 754規定了四種表示浮點數值的方式:單精確度(32位元)、雙精確度(…

计算机数值编码

計算機數值編碼是指电子计算机内部表示數字的方式。通常數值會儲存為位元組序列,並依其位元數命名,例如32位整数、64位浮点数。對於計算機處理器指令集使用的位元編碼,通常需要再轉換格式,供外部使用者判讀,例如打印和顯示。對於紙筆書寫看似相同的文字符號或數值,在不同類型的電子計算機處理器內部中,可能有不同的約定用於整數和實數。大多數計算都是使用適合處理器暫存器的數碼格式來執行,但是某些軟件系統允許使用多種儲存方式,來表示任意大數。 计算机数值…

算術溢出

算術溢位(arithmetic overflow)或簡稱為溢位(overflow)指的是: #在電腦領域裡所發生的溢位條件是,執行單項數值計算時,當計算產生出來的結果是非常大的,大於暫存器或記憶體所能儲存或表示的能力限制。 #在電腦領域裡,執行多項或累計的數值計算時,當計算產生出來的總值是非常大的,大於暫存器或記憶體所能儲存或表示的能力限制。要注意的是,溢位可能會在其他位址被置換。 加法器是中央处理器算术逻辑单元中的核心之一。当长度为n…

Bfloat16格式

bfloat16()是一种计算机数字存储格式,在计算机内存中占用16位,简称BF16。此格式是32位IEEE 754单精度浮点格式的缩短版本,旨在加速机器学习计算。它通过保留8位指数位来保留32位浮点数的范围,但仅支持8位精度,而不是32位浮点数格式的24位有效精度。与标准的IEEE16位浮点数相比,bfloat16有更多的指数位与更少的尾数位,可以用于减少存储需求并提高机器学习算法的计算速度。 格式 bfloat16格式具有: 符号位…

二进制

二進制()在數學和數位電路中指以2為底数的記數系統,以2為基數代表系統是二進位制的。這一系統中,通常用兩個不同的數字0和1來表示。數字電子電路中,邏輯門直接採用了二進制,因此現代的計算機和依赖計算機的設備裡都用到二進制。每個數字稱為一個位元(二進制位)或比特(Bit,Binary digit 的縮寫)。 历史 现代的二进制记数系统由戈特弗里德·莱布尼茨于1679年设计,在他1703年发表的文章《论只使用符号0和1的二进制算术,兼论其用途…

二進碼十進數

二進碼十進數(,簡稱BCD,中国大陆称BCD码或二-十进制编码)是一種十进制數字編碼的形式。在這種編碼下,每个十进制数字用一串单独的二进制位元來儲存與表示。常见的有以4位元表示1个十进制数字,称为压缩的BCD码(compressed or packed);或者以8位元表示1个十进制数字,称为未压缩的BCD码(uncompressed or zoned)。 這種編碼技术,最常用於會計系統的設計裡,因為會計制度經常需要對很長的數字做準確的計…

CORDIC

CORDIC(),也稱為Volder演算法(),是一個可以計算三角函數,簡單且有效率的演算法,可以在任意進制下運算,一般會每次計算一位數字。因此CORDIC屬於逐位計算(Digit-by-digit)方法中的一個例子。 CORDIC演算法還有其他的名稱,像是圓形CORDIC (Jack E. Volder),曾經提到用「雙重迭代」(double iterations)來實現反正弦函數、反餘弦函數、自然對數、指數函數以及雙曲函數。雙重迭代…

進位旗標

進位旗標(carry flag)簡稱為C,是处理器裡狀態暫存器的位元,表示算術邏輯單元計算之後,有出現进位或借位的情形。進位旗標讓處理器可以分段處理數值的相加減,先加減最低有效的運算單位(位元或是字),所得的進位再和較高有效位相加減即可。這一般會在組合語言或是機械的的級別處理,也可能在處理器內部直接用邏輯閘或微程序,也有一些處理器本身就有大於ALU寬度的暫存器或是指令。進位旗標也可以類似的方式擴展位操作和位旋轉。針對減法運算,有兩種不同…

迷你浮點數

迷你浮點(minifloat)是用较少位元的浮點數值。这种低精度不適合通用數值計算,通常用於特殊目的,例如: 计算机图形学,因为人类对颜色和光照强度的感知精度较低。16位半精度格式非常流行。 機器學習,它对数值精度相对不敏感。16位、8位甚至4位浮点数的使用越来越广泛,例如bfloat16。 此外,它們經常作為電腦科學課程中的教學工具來展示浮點算術和IEEE 754數字的屬性和結構。Minifloat按照IEEE 754標準設計。必須遵…

浮点数运算

在電腦科學中,浮點數運算(Floating-point arithmetic)是指以「浮點」(,縮寫為 FP)格式來表示實數並進行運算的一種方式。浮點是一種實數的近似數值表示法,由一個有效數字(即尾數)乘以特定基數的整數次指數(冪數)構成。以這種表示法表示的數值稱為浮點數()。由於電腦無法精確表示所有實數,浮點數運算通常會伴隨著近似值處理或捨入。 電腦採用浮點數運算的主因在於其底層的二進位制運算邏輯。例如:4 ÷ 2 = 2,轉換為二進…

負旗標

在中央处理器裡,負旗標(negative flag)或是符號旗標(sign flag)是狀態暫存器裡的一個位元,說明上一個數學運算的結果為負。在二補數表示法下,(最高有效位)為1表示數值為負。 例如,在8位元有號數系統中,-37用二進制表示,會是1101 1011(符號位元為1),而+37則會是0010 0101(符號位元為0)。 許多處理器架構下都有負旗標,像是MOS 6502、英特爾8051、、ARM等。 在X86處理器中,負旗標會…

符号性

计算机科学中,表示数的資料類型拥有符号性(),这一属性可以用来大致划定可表示数的范围:如果变量既可以表示正数又可以表示负数,则该类型是「有符号」的;而如果仅可表示非负数,则为「无符号」类型。 有符号数可以表示负数,但为了表示这些负数,必须放弃一部分相同大小(比特位)的无符号数可以表示的正数。例如必须放弃八位无符号数的 128 到 255 才能表示八位有符号数中的 -128 到 127。 另见 符号位 有符號數處理 * 性質符號 参考资料

模除

(q) 和 餘數 (r) 作為被除數 (a) 的函數時的圖像。左侧是除数为正的情况,右侧除数为负。从上至下分别使用了:向零取整、向下取整和欧几里得除法。]] 模除(),又稱模算術、取模、取模運算等,它得出一个数除以另一个数的余数。给定两个正数:被除数 a 和除数 n (有时也称作模數,英文寫作modulus),a \,\operatorname{modulo}\, n(通常缩写为a \bmod n),得到的是使用欧几里得除法时的余数。a…

Q格式

Q格式是二進制的定點數格式,其中會標示小數位元(也可能包括整數位元)的長度。例如Q15數表示分數部份有15個位元,而Q1.14數表示1個整數位元以及14個小數位元。 針對有號的定點數,有二種Q格式的表示方式。其中一種是將符號位元算在整數位元裡,但另外一種就不是。例如,16位元的有號整數(無小數位元)可以表示為Q16.0或Q15.0。因此,在用說明Q格式的有號定點數字時,可能也需要一併標示總位元數(在此處為16)。 Q格式是幾種廣為使用的…

卡韓求和算法

在數值分析中,卡韓求和算法(英語:Kahan summation algorithm),又稱補償求和(compensated summation), 是一種能顯著減少將有限精度的浮點數數列相加時產生的之算法。與簡單的累加法相比,該算法透過維護一個獨立的「運行補償量」(用於累積小誤差的變數)來運作,實際上是利用補償變數的精度來擴展求和結果的精度。特別是對於 n 個數的序列求和,直接累加在最壞情況下的誤差隨 n 線性增長;而對於隨機輸入,由…

汉明码

在電信領域中,漢明碼(),也称为海明码,是推广得到的一種线性纠错码,由理查德·衛斯里·漢明于1950年發明。相比而言,簡單的奇偶檢驗碼除了不能糾正錯誤之外,也只能偵測出奇數個的錯誤。汉明码是,它在于它分组长度相同、最小距离为3的码中能达到最高的码率。 用數學术语来说,漢明碼是一種二元線性碼。對於所有整數 ,存在一个分组长度 、 编码。因此汉明码的码率为 ,对于最小距离为3、分组长度为 的码来说是最高的。漢明碼的奇偶檢驗矩陣的是通過列出所…

无符号数

无符号数()是计算机编程中的一种数值資料型別。有符号数()可以表示特定类型规定范围内的整数(包括负数),而无符号数只能表示非负数(0及正数)。 有符号数能够表示负数的代价是能够表示的正数范围的缩小,因为其约一半的数值范围要用来表示负数(如8位有符号整数中,对应8位无符号整数表示128~255的部分被用于表示-127~-1)。无符号数可以利用其所占有的所有位来表示较大的数。 例如,16位有符号整数可表示 -32768~32767 之间的任…

−0

−0或负零代表0的相反数,数学意义上等于0。 特定情况下,−0具有特殊意义: 在计算机科学中,−0是浮点数中表达0的一种方式,可以在某些时候进行符号性处理。 在普通应用中,−0有可能被用来表示一个可以四舍五入为零的负数,或者是一个从负方向上趋近于零的数。 在统计力学中,特定的系统在反转分布的状态下,可以被认为拥有−0的绝对温度。 计算机科学 表示法 單精度浮點數表示負零]] 在对于整数的1+7位元的符号数值表示法中,负零是用二进制代码1…

整数溢出

溢出来表示。当所有数字都为最大值9时,当数字再增加时,因为没有更高位的数字,导致所有数字重置为0。]] 在计算机编程中,当算术运算试图创建一个超出可用位数表示范围(大于最大值或小于最小值)的数值时,就会发生整数溢出错误。 整数溢出的表现形式可分为:无符号整数上溢、无符号整数下溢、有符号整数上溢、有符号整数下溢。 整数溢出错误会导致软件运算结果出错,1996年亞利安5號運載火箭爆炸,2004年Comair航空公司航班停飞事故都是整数溢出造…