- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
要将一个数字乘以 2 的任意倍数,我将对其进行多次移位。
有没有这样的技术可以在更少的周期内将数字乘以 10?
最佳答案
80286 没有桶形移位器,这是随 80386 一起引入的。根据 Microsoft 宏汇编器 5.0 文档 (1987) 中的时序表,SHL reg, immed8 需要 5+n 个周期,而 SHL reg, 1 需要 2 个周期。 ADD reg, reg 需要 2 个周期,MOV reg, reg 也是如此。 IMUL reg16, immed 需要 21 个周期。因此,乘以 10 的最快方法似乎是:
; // cycles
shl ax, 1 ; *2 // 2
mov bx, ax ; *2 // 4
shl ax, 1 ; *4 // 6
shl ax, 1 ; *8 // 8
add ax, bx ; *10 // 10
或者,或者:
; // cycles
mov bx, ax ; *1 // 2
shl ax, 1 ; *2 // 4
shl ax, 1 ; *4 // 6
add ax, bx ; *5 // 8
shl ax, 1 ; *10 // 10
无论哪种方式都是十个周期。
关于assembly - 80286 : Which is the fastest way to multiply by 10?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61033121/
以下函数作为本练习的介绍,说明了用加法定义的乘法。这是最简单的“容易写下来”的递归定义。 (define (star a b) (if (= b 0) 0 (+ a (st
不知道这个操作叫什么,谷歌也没有帮助。 假设我有两个像这样的简单数据框: df1 df1 factor1 1 a 2 b 3 c > df2 factor
我有这个 cobol 程序,用于计算阶乘: IDENTIFICATION DIVISION. PROGRAM-ID. Factorial-hopefully. AUTHOR. Dar
作为我正在学习的测试优先 ruby 类(class)的一部分,我需要制作一个基本的乘法方法,该方法首先采用 2 个参数并将它们相乘,但之后 rspec 测试将多个数字相乘的能力同样的方法。 我只想
题目地址:https://leetcode.com/problems/multiply-strings/description/ 题目描述 Given two non-negative integ
我正在尝试在 Java 中实现 np.multiply 并且我对它实际在做什么感到困惑。该文档只是说明它进行元素乘法。它与我能找到的任何数学矩阵乘积都不匹配。它部分匹配元素方式的 Hadamard 乘
这个问题在这里已经有了答案: Transpose / reshape dataframe without "timevar" from long to wide format (9 个回答) 关闭2年
我有一些复选框,选中后会更新底部的总价,它们效果很好。不过,我还添加了一个单独的输入字段来输入数量。我试图让该数量乘以输入字段的值。现在我只有将文本输入字段添加到总数中的代码,而不是将其乘以旁边的字段
我正在尝试在 MongoDB 中使用 $multiply 运算符。 第 1 步 db.message1064sd_00011_3744.aggregate([ {$project : {
我有两本字典,一本在代码主体中,一本在输入中。我想比较两个字典,如果键相同,我想相乘并打印值。下面是我迄今为止编写的代码。 dict_a = { 'r':100, 'y':110,
>>> a = [] >>> b = [a*2] >>> b [[]] >>> b = [copy.deepcopy(a)*2] >>> b [[]] 我正在尝试将 b 创建为由 a 的两个副本组成的
我在一个数据库中有几个 mysql 表。 目前我正在对我的网站进行整理测试,其中一个是测试一个沉重的数据库,看看这对性能(搜索)有多大影响。 该网站是一个分类网站。我需要很长时间才能一次插入一个分类以
我有一些代码要运行数千次,想知道什么更快。array 是一个包含 30 个值的短数组,它始终包含 0、1 或 2。 result = (array[29] * 68630377364883.0)
好的,所以我有这样的东西: SendKeys.send("blah" + "{BS}") 我想多次退格“{BS}”,例如有一个变量,我可以将“{BS}”乘以退格一定次数,我该怎么做? 我知道可以在 P
实现大整数乘法 使用整数数组来存储一个 biginteger 像 297897654 将存储为 {2,9,7,8,9,7,6,5,4} 实现 bigintegers 的乘法函数 例子:{2, 9, 8
这个问题在这里已经有了答案: Numpy np.multiply vs *-Operator [duplicate] (2 个回答) 3年前关闭。 numpy.multiply documentati
我正在尝试使用 Transform.multiply4x4() 移动表面修改器,但它似乎没有按预期工作。我试图旋转一个几乎平坦的表面,然后将其发送到远处。我的代码如下所示 myModif
我希望使用 SIMD 指令一次将寄存器中的所有 32 位整数相乘,这是我目前尝试的方法: int32_t a [8] = {1, 2, 3, 4, 5, 6, 7, 8}; int32_t b
尝试在 4 个表(项目、任务、支出和捐赠)上运行简单的内连接查询。连接似乎在某处缠结。例如,SUM(tasks.budget_amount) 应该给出 3,211,385.21 的组合值,但我得到的是
我知道 NaN 的意思不是数字,但我不明白我是如何得到这个错误的。我正在做的是引用来 self 的形状类的我的形状对象的顶点值,并在我的渲染器类中使用它们。当我在 logcat 上打印出顶点的值时,我
我是一名优秀的程序员,十分优秀!