• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > 位运算实现十进制转换为二进制

位运算实现十进制转换为二进制

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了二进制位运算,二进制按位运算,十六进制位运算,16进制位运算,二进制位运算符等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

代码如下:

 #include <iostream>        //将十进制数转化为二进制数,位运算的取位操作
 using namespace std;
 int main()
 {
        unsigned short i;
        cout << "请输入一个小于65536的正整数" << endl;
        cin >> i;
        for(int j=15; j >= 0; j--)
        {
               if ( i & ( 1 << j) ) cout << "1";
               else cout << "0";
        }
        cout << endl;
     return 0;
 }
</div>

分析:

      分析一下这个程序的算法原理,顺便复习一下位运算的奇妙吧。
      这是一个将无符号十进制数转化为标准16位二进制数的程序。
      程序的主体部分,for语句从15递减到0,一共16次对二进制数的每一位的判断作操作。循环体内部的条件判断用到了位运算中的&运算(与运算)和<<运算(左移运算)。<<运算表示把1的二进制形式整体向左移j位,左移后低位补0,移出的高位部分被舍弃。例如,当j为15时,表达式(1<<j)的值为1000000000000000;当j为10时,值为0000010000000000。
      所以i&(1<<j)的值相当于把i的二进制的第j位取出来(i的第j位与(1<<j)的第j位(由上述可以,为1)作与运算,只有当i的第j位为1时值为真)。循环后既得i的二进制形式。
      有的童鞋可能觉得用mod(取余)运算照样可以达到效果,但是位运算的“个性”就决定了它直接对数据的二进制形式进行操作的快捷性(一般计算机的数据存储基本形式为二进制形式),两个相同算法的程序,用了位运算后会使程序速度上有提高。

以上所述就是本文的全部内容了,希望大家能够喜欢。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 位运算实现十进制转换为二进制

相关文章

  • 2017-05-28Linux网络编程之socket文件传输示例
  • 2017-05-28C语言中返回错误信息的相关函数用法总结
  • 2017-05-28Cocos2d-x学习笔记之Hello World源码分析
  • 2017-05-28C++ 中lambda表达式的编译器实现原理
  • 2017-05-28Android App仿微信界面切换时Tab图标变色效果的制作方法
  • 2017-05-28C++ 数据结构链表的实现代码
  • 2017-05-28C语言解决螺旋矩阵算法问题的代码示例
  • 2017-05-28snprintf函数的用法解析
  • 2017-05-28VC获取当前路径及程序名的实现代码
  • 2017-05-28使用C语言求N的阶乘的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C语言内嵌汇编API内存搜索引擎实例
    • C语言中压缩字符串的简单算法小结
    • C/C++数据对齐详细解析
    • c++实现strcat字符串连接库函数的方法详解
    • C语言中获取文件状态的相关函数小结
    • c++读写文件流实例程序讲解
    • C++中Boost库裁剪与其应用详解
    • 解决C++中事件不响应的方法详解
    • 谈谈C++学习之Pair的使用方法
    • 素数筛选法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有