c语言-一个32bit的数除以520怎么用C实现效率最高?

问题描述

一个32bit的数除以520怎么用C实现效率最高?

一个32bit的数除以520怎么用C实现效率最高?还有
一个32bit的数乘以520怎么用C实现效率最高?

解决方案

设定初始值为A,结果为X
除:X=A>>9-(A-(A>>6)<>3
也就是A右移9位,减去((A-A右移6位再左移6位)右移3位);
乘:X=A<<9+A<<3
也就是左移9位,加上左移3位(乘的意义不大,本来就可以拆分的)

解决方案二:

这个问题比较高深啊。。。

解决方案三:

可以内嵌汇编,除法用div指令,乘法是mul指令,这应该算效率很高了吧。

时间: 2024-11-03 04:35:17

c语言-一个32bit的数除以520怎么用C实现效率最高?的相关文章

设计-c语言 一个输出出现次数最多的字母的程序

问题描述 c语言 一个输出出现次数最多的字母的程序 字母不区分大小写 输出格式:出现的次数 该字母 如果有复数个出现次数最多的字母,就按字母排列顺序输出 例 输入 One Two Buckle My Shoe 输出 3 eo 输入 Once upon a time,there lived a manwhose name wos Lip van Winkle. 输出 8 e 使用以下代码雏形 #include<stdio.h> int main(void) { int i,max=0; char

c语言-C语言一个字符串的问题

问题描述 C语言一个字符串的问题 #include #include int main(){ char s1[81] s2[81]; scanf(""%s"" s1); scanf(""%s"" s2); char *find = NULL; int len2 = (int)strlen(s2); while ((find = strstr(s1 s2)) != NULL) { while ( *(find + len2) )

define-c语言一个小题目,菜鸟求解。

问题描述 c语言一个小题目,菜鸟求解. #include #define Hello(x) x/(x-1) void main() { int a=1,b=2; printf("%d n",Hello(a-b)); } 程序的输出是2,但是-1/(-2)的结果不是应该为0么?所以我不知道为什么结果为2,求解答. 解决方案 printf("%d n",Hello(a-b));// a-b/(a-b-1) = 1-2/(1-2-1) = 1 + 1 = 2 解决方案二:

动态-java 如何生成一个不定维数的数组?

问题描述 java 如何生成一个不定维数的数组? 现有需求如下:有一个List集合,内含N个对象,每个对象都有一个属性level.如果最大的level是5,那么就生成一个4维数组:如果最大的level是4,那就生成一个3维数组,依此类推.想了很多办法,自己实现不了,特来求助 解决方案 你这个是N很大时怎么遍历的问题么?

一个二叉数的前序和中序遍历分别是

问题描述 一个二叉数的前序和中序遍历分别是 一个二叉数的前序和中序遍历分别是acedgfb gfdecba画出二叉数,并且求后序遍历 解决方案 egfdcba 解决方案二: 后续:fgdebca

c语言-C语言求回文数,满足m,m*m和m*m*m均为回文数

问题描述 C语言求回文数,满足m,m*m和m*m*m均为回文数 C语言求回文数,满足m,m*m和m*m*m均为回文数 编程求出11~999之间的回文数 解决方案 http://zhidao.baidu.com/link?url=J6jUedovjtgkY_S7HCLan1mMkWtPOuAMp_UOyQhknhcPebh_fAYjMrATK4snNimhu9gZev0tFUGuTFGCnAGHwa 参考

VB语言一个关于字符串组合的程序

问题描述 VB语言一个关于字符串组合的程序 这样的数字构成的字符串在VB中怎么穷举? 12*5* 输出12051 12052 ... 12959 解决方案 for i = 0 to 9 for j = 0 to 9 print "12" & i & "5" & j next next

c语言 一个输出出现次数最多的字母的程序

问题描述 c语言 一个输出出现次数最多的字母的程序 字母不区分大小写 输出格式:出现的次数 该字母 如果有复数个出现次数最多的字母,就按字母排列顺序输出 例 输入 One Two Buckle My Shoe 输出 3 eo 输入 Once upon a time,there lived a manwhose name wos Lip van Winkle. 输出 8 e #include<stdio.h> #include<string.h> typedef struct alp

c语言-C语言实现普兰特准数计算的算法请问怎么实现?普兰特准数的基数判定是什么?

问题描述 C语言实现普兰特准数计算的算法请问怎么实现?普兰特准数的基数判定是什么? C语言实现普兰特准数计算的算法请问怎么实现?普兰特准数的基数判定是什么? 解决方案 http://jpkc.jzu.cn/hgyl/dzja/ja1.4/jiaoan1.4.3.htm