c语言二进制数按位输出示例_C 语言

提出问题:

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$

时间: 2024-09-24 01:49:59

c语言二进制数按位输出示例_C 语言的相关文章

c语言实现多线程动画程序示例_C 语言

该程序是利用opengl图形库与fmod音频库写的一个简单3d动画程序.该程序在vs下运行良好,若缺少相关dll文件请确认已配制fmod与opengl库. mixmodel.cpp 复制代码 代码如下: // mixmodel.cpp : 定义控制台应用程序的入口点.// #include "stdafx.h" //定义一个线程DWORD WINAPI SoundProc( LPVOID LPVIDEOPARAMETERS);//光照变量GLfloat  whiteLight[] =

c语言指针之二级指针示例_C 语言

二级指针的概念 首先任何值都有地址,一级指针的值虽然是地址,但这个地址做为一个值亦需要空间来存放,是空间就具有地址,这就是存放地址这一值的空间所具有的地址,二级指针就是为了获取这个地址,一级指针所关联的是其值(一个地址)名下空间里的数据,这个数据可以是任意类型并做任意用途,但二级指针所关联的数据只有一个类型一个用途,就是地址,指针就是两个用途提供目标的读取或改写,那么二级指针就是为了提供对于内存地址的读取或改写指针的表现形式是地址,核心是指向关系指针运算符"*"的作用是按照指向关系访问

C语言中进制知识汇总_C 语言

1.什么是进制 进制是一种计数的方式,常用的有二进制.八进制.十进制.十六进制.任何数据在计算机内存中都是以二进制的形式存放的. 我对进制的个人理解,二进制数是以2为计算单元,满2进1位的数:八进制数是以8为计算单元,满8进1位的数. 对于任何一个数字,我们都可以用不同的进制来表示,比如,十进制数12,用二进制表示为1100,用八进制表示为14,用十六进制表示为0xC. 2.进制的转换规则 遵循满进制值进1位,个位数变为0的原理,下面我们以十进制数18为例,对1-18中每一个数值转换各种进制做一

C语言实现选择排序、冒泡排序和快速排序的代码示例_C 语言

选择和冒泡 #include<stdio.h> void maopao(int a[],int len){ int i,j,temp; for(i = 0;i < len - 1 ; i ++){//从第一个到倒数第二个 for (j = 0 ; j < len - 1 - i ; j ++)//排在后的是已经排序的 { if (a[j] > a[j + 1])//大的数换到后面去 { temp = a[j]; a[j] = a[j + 1]; a [j + 1] = tem

C语言求矩阵的各列元素之和的代码示例_C 语言

问题描述:统计一个矩阵的各列元素之和.矩阵各元素为整数且绝对值不超过100.要求输入:有多个测试用例,每个测试用例的第一行是空格分隔的两个正整数n和m( 1 < n, m < 80 ),接下来的n行每行有m个空格分隔的整数,组成一个n*m的矩阵.最后一个测试用例n=0 m=0不用处理.要求输出:对每个测试用例,输出一行整数(空格分隔),顺序表示从第1列至第m列的各列元素之和.输入示例: 3 5 1 1 1 2 -1 0 1 0 7 4 0 2 0 -8 -4 2 2 1 1 0 1 0 0 输

C语言解字符串逆序和单向链表逆序问题的代码示例_C 语言

字符串逆序上次面试碰到一个单向链表逆序的题目,幸好对字符串逆序比较熟悉,类比做出来了.字符串逆序比较简单,直接上代码: void stringReverse(char* p1,char* p2) { if(p1==p2)return; //swap the value of p1 ,p2 *p1=(*p1)+(*p2); *p2=(*p1)-(*p2); *p1=(*p1)-(*p2); if(p1==p2-1)return; else stringReverse(++p1,--p2); } 调

C++读入XML文件示例_C 语言

最近要做一个VRP的算法,测试集都是放在Xml文件中,而我的算法使用C++来写,所以需要用C++来读取Xml文件. 在百度上搜"C++读取Xml文件",可以出来很多博客,大多数是关于tinyXml的,所以这篇博文也是讲述如何用tinyXML来读取XML文件. tinyXml是一个免费开源的C++库,可以到官网上下载:https://sourceforge.net/projects/tinyxml/. 下载下来解压之后,可以看到下面这些文件: 我是在windows下用VS来写C++的,按

C语言 循环详解及简单代码示例_C 语言

C 循环 有的时候,我们可能需要多次执行同一块代码.一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推. 编程语言提供了更为复杂执行路径的多种控制结构. 循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的流程图: 循环类型 C 语言提供了以下几种循环类型.点击链接查看每个类型的细节. 循环类型 描述 while 循环 当给定条件为真时,重复语句或语句组.它会在执行循环主体之前测试条件. for 循环 多次执行一个语句序列,简化管理循环变量

C语言 结构体和指针详解及简单示例_C 语言

指针也可以指向一个结构体,定义的形式一般为: struct 结构体名 *变量名; 下面是一个定义结构体指针的实例: struct stu{ char *name; //姓名 int num; //学号 int age; //年龄 char group; //所在小组 float score; //成绩 } stu1 = { "Tom", 12, 18, 'A', 136.5 }; //结构体指针struct stu *pstu = &stu1; 也可以在定义结构体的同时定义结构