标签:#计算机算术

共 8 篇文章

检查并设置

在計算機科學中,檢查並設置(test-and-set lock,TSL)是一種不可中斷的原子運算。TSL对某個記憶體位置写入1(set)並返回其舊值。 在多个进程可同時访问記憶體同个地址时,如果一個程式正在執行TSL,其他程式在它執行完成前不能執行TSL。中央處理器可提供TSL指令,或利用如雙埠隨機存取記憶體(Dual-ported RAM)等其它電子元件所提供的機制实现TSL。 下述为一種利用TSL指令來實現自旋鎖: function…

图姆-库克算法

图姆-库克算法(),有时也被称为Toom-3算法,由安德鲁·图姆命名,他提出了这种算法的基本原理,而斯蒂芬·库克则最先用简洁的形式描述并改进了这种算法,将其作为大整数的乘法算法。 图姆-库克算法的原理是:对于给定的两个大整数a和b ,将a和b分成k个较小的部分,每个部分的长度为l ,并对这些部分执行运算。随着k的增长,可以组合许多乘法子运算,从而降低算法的整体复杂度,然后再次使用图姆-库克算法递归计算乘法子运算,依此类推。Toom-3和…

位操作

位操作是程序设计中对位数组或二进制数的一元和二元操作。在许多古老的微处理器上,位运算比加减运算略快,通常位运算比乘除法运算要快很多。在现代架构中,位运算的运算速度通常与加法运算相同(仍然快于乘法运算),但是通常功耗较小,因为资源使用减少。 位运算符 下面的解释中,任何二进制位的表示都从右侧(最低位)开始计数,向左进。举个例子,二进制值0001(十进制1)除第一位(即最右边)每位上都是0。 取反(NOT) 取反是一元运算符,对一个二进制数…

五取二码

条码]] 五取二码(),又称标准25码,是一种,恰好提供了两比特的十种可能组合,常使用五比特来表示数字。每一个比特都分配了一个权重,所有比特相加就得到了预期的值,而0除外。 编码标准 根据美国联邦标准1037C: 每一位数字都应该都应该由五比特的二进制数表示,其中两比特为一种,被称为“一”(ones),另外三比特为另一种,被称为“零”(zeros), 通常分配给每一位比特的权重是0-1-2-3-6。而在这种规则下,0被编码为01100;…

掩码

掩码()在计算机学科及数字逻辑中指的是一串二进制数字,通过与目标数字的按位操作,达到屏蔽指定位而实现需求。 示例 创造一个掩码msk把一个指令cmd的第0~3位(右边第一位为0位)清零: 指令cmd = 0110011011 创造掩码msk = 0000001111 用掩码的反码~msk和指令cmd做按位与运算cmd & ~msk = 0110011011 & 1111110000 = 0110010000 则指定的第0~3位已被清零。…

二補數

二補數()是一種用二進位表示有符号數的方法,也是一種將數字的正負號變號的方式,常在電腦科學中使用。二補數以有符號位元的二進位數定義。 正數和0的二補數就是該數字本身再補上最高位元0。負數的二補數則是將其绝对值按位取反再加1。 二補數系統的最大優點是可以在加法或減法處理中,不需因為數字的正負而使用不同的計算方式。只要一種加法電路就可以處理各種有號數加法,而且減法可以用一個數加上另一個數的二補數來表示,因此只要有加法電路及二補數電路即可完成…

最后一位上的单位值

在计算机科学与数值分析中,最后一位上的单位值或称最小精度单位,缩写为ULP,是毗邻的浮点数值之间的距离,也即浮点数在保持指数部分的时候最低有效数字为1所对应的值。ULP用于度量数值计算的精度。 例如:圆周率位于毗邻的双精度浮点数3.1415926535897927与3.1415926535897936之间。 定义 设底数为b,如果x的指数为E,那么ULP(x) = 机器精度·bE。但在计算机与数值计算的文献中,对ULP,指数与机器精度也…

原码

{{Distinguish2|原始碼;}-}} 原碼(True form)是電腦運算的名詞,是指“未經更改”的碼。为了便于ALU的设计,又發展出反码、补码等轉換過的碼。 原码是指一个二进制数左边加上符号位后所得到的码,且当二进制数大于0时,符号位为0;二进制数小于0时,符号位为1;二进制数等于0时,符号位可以为0或1(+0/-0)。 原码的具体定义 计算机中所有的数均用0、1编码表示,数字的正负号也不例外,如果一个机器数字长是n位的话,…