c语言:将二进制数按位输出
2014-02-26 00:28
330 查看
问题:
1.输入int 20,其二进制为10100,按位输出10100;
2.或者将1转化为“+”,0转化为“-”,输出就是” + - + - - “;
输出结果:
xu@xu-ThinkPad-X61:~/algorithm$ ./a.out
+ - + - -
xu@xu-ThinkPad-X61:~/algorithm$
真厉害啊
1.输入int 20,其二进制为10100,按位输出10100;
2.或者将1转化为“+”,0转化为“-”,输出就是” + - + - - “;
int biTofh(int bi,int len){//二进制转化为正负号 int i=0; while(i<len){ int tmp = 1; if((bi & (tmp<<(len-i-1))) != 0){//从最左位开始比较,该位是1 printf(" + "); } else{ printf(" - "); } i++; } printf("\n"); return 0; } int main(){ int input[] = {1,2,3,4,5}; biTofh(20,5); return 0; }
输出结果:
xu@xu-ThinkPad-X61:~/algorithm$ ./a.out
+ - + - -
xu@xu-ThinkPad-X61:~/algorithm$
真厉害啊
相关文章推荐
- STL中用next_permutation解决排列问题
- Eclipse C++
- 10个足以让你成为更优秀的程序员的C语言资源
- c++ 学习笔记----头文件
- 递归算法巧解字符串问题
- C++读写文件笔记
- C++文件操作详解(ifstream、ofstream、fstream)
- C++学习之运算符重载的总结
- C++学习之运算符重载的总结
- C语言的内存分配(参考)
- 纸上谈兵(C++):字符串的使用
- VC++调用大漠插件的方法
- C++ string 用法详解
- c++项目包含c头文件 .c文件时的编译
- [面试算法]有一无符号整型数组,大小为10, 初始的数值随机,但在[0, 99]之间。请用C语言写一个过滤程序,令数组内的数据互不相等。
- 详细讲解C++ 类的继承
- [C++学习历程]基础部分 C++中的类型和声明
- [C++学习历程]基础部分 C++中的类型和声明
- [C++学习历程]基础部分 C++中的类型和声明
- Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案