将 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次方数-高效处理 性能第一相关推荐

  1. C语言求网格的最大不重复路径数的算法(附完整源码)

    C语言求网格的最大不重复路径数的算法 C语言求网格的最大不重复路径数的算法完整源码(定义,实现,main函数测试) C语言求网格的最大不重复路径数的算法完整源码(定义,实现,main函数测试) #in ...

  2. C语言求一个数是否为armstrong阿姆斯特朗数(附完整源码)

    是否为armstrong阿姆斯特朗数 是否为armstrong阿姆斯特朗数算法完整源码(定义,实现,main函数测试) 是否为armstrong阿姆斯特朗数算法完整源码(定义,实现,main函数测试) ...

  3. 1000以内所有同构数java算法_使用c语言求1到1000同构数的代码

    使用c语言求1到1000同构数的代码 发布时间:2020-04-30 14:39:17 来源:亿速云 阅读:679 作者:小新 今天小编给大家分享的是使用c语言求1到1000同构数的代码,相信很多人都 ...

  4. (篇六)C语言求自首数、完数、亲密数

    文章目录 一.求自首数 二.求完数 三.求亲密数 本篇主要介绍C语言中求自首数.完数和自然常数e的求解算法 一.求自首数 1.自首数: 自守数是指一个数的平方的尾数等于该数自身的自然数. 自首数是按位 ...

  5. python输入一个英文句子、统计单词个数_C语言编程求一个英文句子中的单词数和最长单词的位置、长度及输出这个单词。c++编程 从键盘输入一个英文...

    C语言编程求一个英文句子中的单词数和最长单词的位置.长度及输出这个单词. c++编程 从键盘输入一个英文 www.zhiqu.org     时间: 2020-11-23 我刚做了一关于英文句子里面每 ...

  6. 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[ ...

  7. C语言求1到50的数的三次方的和。

    C语言求1到50的数的三次方的和. 代码部分: #include <stdio.h> #include <math.h> //引用math.h头文件 void main() { ...

  8. c语言求同时被3和7,c语言输入一个数 判断该数能否同时被3和7整除 如果能整除 则输出yes...

    输入1个整数,判断该数是奇数还是偶数.(用C语言编程) #includevoidmain(){intn;printf("输入一个整数:");scanf("%d" ...

  9. C语言——求第n个斐波那契数

    C语言--求第n个斐波那契数 写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项.斐波那契数列的定义如下: f(n)=f(n-1)+f(n-2),当n>1时,当n=0,f(0)=0 ...

最新文章

  1. 使用spring-loaded开源项目,实现java程序和web应用的热部署
  2. ASP.NET中的图片路径问题
  3. python解矩阵方程_用Python代写的Numpy求解线性方程组
  4. [crypto]-10-openssl版本介绍
  5. DCMTK:DcmOtherLong类的测试程序
  6. OptaPlanner –具有真实道路距离的车辆路线
  7. Maya: Render Setup System Maya教程:渲染设置系统 Lynda课程中文字幕
  8. 开箱体验: Web研发从石器时代过渡青铜时代复盘心得
  9. Python数据结构与算法(17)---归并排序
  10. Hexo博客美化之——IP签名图一网打尽
  11. 计算机网络相关知识总结
  12. Extjs 中鼠标划过悬浮效果的显示
  13. bravado哺乳内衣 这款哺乳胸罩,越早买越好,别等到下垂涨奶才知道后悔!
  14. English语法_指示代词
  15. Opencv 特征训练分类器
  16. 级联和非级联_级联和其他基本必需品
  17. 块级元素 div水平居中 垂直居中
  18. 注册咨询工程师,这个证书作用是什么?
  19. 移动端VR场景开发打造3D绚酷空间视频教程
  20. 软考-信息管理——学习笔记_证

热门文章

  1. mac卸载python_Mac OS 完全彻底卸载 Python 指定版本的方法
  2. python编译成exe和exe反编译成python
  3. KS8695 jtag
  4. 抖音超火的图片视频教程!快速制作技巧,创意爆表了
  5. 黑马前端教学视频的学习笔记(二)
  6. 《机器学习有意思! 01》- 世界上最简单的机器学习入门
  7. 手机语音助手调查问卷,欢迎大家参与
  8. java编程练习题_java编程练习题
  9. linux shell获取时间戳
  10. 魅族16s Pro上手体验:补齐16s硬件上的不足,增强了拍照能力