C#语言 求最近数N的2次方数-高效处理 性能第一
将 N 和 最接近N且小于N的2次元数 以及 最接近N且大于N的2次元数 转换成 二进制 对比
看图不难发现 如果将N的尾数全部置1 然后+1 可以得到大于N且最接近N的 二次元数 Max
由 Max / 2 或者 右移一位得出 小于N且最接近N的二次元数Min
思路理清了 那接下来我们动手开始撸吧~
第一步 将N的所有位置1
// 公式: 将X的第N位置1
//原理很简单 大家对下二进制就知道了 这里不过多阐述
x = x | (1 << n)
代码如下:
N|= N >> 1;
N |= N >> 2;
N |= N >> 4;
N |= N >> 8;
N |= N >> 16;
第二步 将N自增1 得到 大于N且最近就N的2次方数
++N;// 得到大于N 且 最接近N的二次方数
第三步 将N右移1位 得到 小于N且最接近N的2次方数
N>>=1;// 得到小于N 且 最近就N的二次方数
完整代码
//得到最接近 into 且大于into的二次方数public static int get2powHigh( int into ){--into;//避免正好输入一个2的次方数into |= into >> 1;into |= into >> 2;into |= into >> 4;into |= into >> 8;into |= into >> 16;return ++into;}//得到最接近 into 且小于into的二次方数public static int get2powLow(int into){return get2powHigh(into) >> 1;}
C#语言 求最近数N的2次方数-高效处理 性能第一相关推荐
- C语言求网格的最大不重复路径数的算法(附完整源码)
C语言求网格的最大不重复路径数的算法 C语言求网格的最大不重复路径数的算法完整源码(定义,实现,main函数测试) C语言求网格的最大不重复路径数的算法完整源码(定义,实现,main函数测试) #in ...
- C语言求一个数是否为armstrong阿姆斯特朗数(附完整源码)
是否为armstrong阿姆斯特朗数 是否为armstrong阿姆斯特朗数算法完整源码(定义,实现,main函数测试) 是否为armstrong阿姆斯特朗数算法完整源码(定义,实现,main函数测试) ...
- 1000以内所有同构数java算法_使用c语言求1到1000同构数的代码
使用c语言求1到1000同构数的代码 发布时间:2020-04-30 14:39:17 来源:亿速云 阅读:679 作者:小新 今天小编给大家分享的是使用c语言求1到1000同构数的代码,相信很多人都 ...
- (篇六)C语言求自首数、完数、亲密数
文章目录 一.求自首数 二.求完数 三.求亲密数 本篇主要介绍C语言中求自首数.完数和自然常数e的求解算法 一.求自首数 1.自首数: 自守数是指一个数的平方的尾数等于该数自身的自然数. 自首数是按位 ...
- python输入一个英文句子、统计单词个数_C语言编程求一个英文句子中的单词数和最长单词的位置、长度及输出这个单词。c++编程 从键盘输入一个英文...
C语言编程求一个英文句子中的单词数和最长单词的位置.长度及输出这个单词. c++编程 从键盘输入一个英文 www.zhiqu.org 时间: 2020-11-23 我刚做了一关于英文句子里面每 ...
- c语言求比平均值大的元素,c语言 10个元素的数组求平均值并输出比平均值大的数...
[c语言]编写程序,求数组a中前n个元素的最大值max.最小值min及平均值avg. 是前n个元素么?main(){inti=n,sum=0;max=a[0];min=a[0];for(i=0;ia[ ...
- C语言求1到50的数的三次方的和。
C语言求1到50的数的三次方的和. 代码部分: #include <stdio.h> #include <math.h> //引用math.h头文件 void main() { ...
- c语言求同时被3和7,c语言输入一个数 判断该数能否同时被3和7整除 如果能整除 则输出yes...
输入1个整数,判断该数是奇数还是偶数.(用C语言编程) #includevoidmain(){intn;printf("输入一个整数:");scanf("%d" ...
- C语言——求第n个斐波那契数
C语言--求第n个斐波那契数 写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项.斐波那契数列的定义如下: f(n)=f(n-1)+f(n-2),当n>1时,当n=0,f(0)=0 ...
最新文章
- 使用spring-loaded开源项目,实现java程序和web应用的热部署
- ASP.NET中的图片路径问题
- python解矩阵方程_用Python代写的Numpy求解线性方程组
- [crypto]-10-openssl版本介绍
- DCMTK:DcmOtherLong类的测试程序
- OptaPlanner –具有真实道路距离的车辆路线
- Maya: Render Setup System Maya教程:渲染设置系统 Lynda课程中文字幕
- 开箱体验: Web研发从石器时代过渡青铜时代复盘心得
- Python数据结构与算法(17)---归并排序
- Hexo博客美化之——IP签名图一网打尽
- 计算机网络相关知识总结
- Extjs 中鼠标划过悬浮效果的显示
- bravado哺乳内衣 这款哺乳胸罩,越早买越好,别等到下垂涨奶才知道后悔!
- English语法_指示代词
- Opencv 特征训练分类器
- 级联和非级联_级联和其他基本必需品
- 块级元素 div水平居中 垂直居中
- 注册咨询工程师,这个证书作用是什么?
- 移动端VR场景开发打造3D绚酷空间视频教程
- 软考-信息管理——学习笔记_证