位运算实现输出数字的二进制
2017-09-09 00:00
204 查看
#include<stdio.h> #include<stdlib.h> #include<Windows.h> //求出一个数的二进制 //使用&运算 void main(void) { int num; puts("输入整数"); scanf_s("%d",&num); printf("%d\n%p\n",num,&num); //创建一个最高位为1的32bit(四字节整数最高位为1 内存为 1000 0000 0000 0000 0000 0000 0000 0000) // 整数1位移31位32bit位,的第一位成为1 结构是0000 0000 0000 0000 0000 0000 0000 0001 向前移动 31位1000 0000 0000 0000 0000 0000 0000 0000 int temp = 1<<31; if (num < 0)//如果这个数字是负数处理 { num = ~num+1;//取反+1 负数的内存中存放方式是补码的方式存放 这里求出了他的正数源码 num = num | temp;//设置这个正数的源码,把其的最高位相或等于1 求出了负数的源码 } for (int i = 1; i <=32;i++) { if ((temp&num) == 0) { printf("0"); } else { printf("1"); } if (i%4==0) // %4后等于0输出空格 { printf(" "); } num <<= 1;//移动输入的数字的最高位,继续比较 } system("pause"); }
相关文章推荐
- 实现一个函数,将一个数的二进制序列逆序,然后输出逆序所得二进制序列所对应的数字
- 实现输出一个数字的二进制表示
- loner_li 机试题 编写一个简单的计算器实现加减乘除:输入两个数字和一个运算符号,输出结果(注意容错性)
- 从键盘输入某个十进制小数或整数,转换成对应的二进制小数并输出。 (查询十进制小数转换成二进制小数的算法,使用循环来实现。 最多保留小数位后7位数字即可)算法
- 用移位运算实现一个整数二进制形式的输出--简短程序分析
- 位运算-Number of 1 Bits(求一个十进制数字,它的二进制表示中有多少个 1(bit))
- c语言编程如何实现-十进制数转换成二进制和输出
- 第九周实验报告任务 1 定义Time类中的<<和>>运算符重载,实现时间的输入输出,改造原程序中对运算结果显示方式,使程序读起来更自然。
- php冒泡排序实现方法,传入几个数字排序后 输出实战例子
- 汇编实现输入字符串以十进制数字输出字符个数
- 使用位运算实现有符号的十进制正负数转二进制输出
- 1.写一个函数返回参数二进制中1的个数2.获取一个数二进制序列中所有的偶数为和奇数位,分别输出二进序列3.输出一个整数的每一位4.编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(b
- C++实现输入一个整数,将各位数字反转后输出
- WINCE基于CH7024实现TV OUT (VGA)功能_CPU(在此为S3C2443)输出的RGB数字信号通过CH7024转换成PAL制式的模拟信号输出到电视
- C++实现查找字符串中的数字,并输出
- 134 编程实现:把十进制数(long 型)分别以二进制和十六进制形式输出,不能使用 printf系列
- 有源钳位吸收器电路在隔离式DC-DC转换器高输出电流应用中的数字实现方式---凯利讯半导体
- 【Java EE 学习 75 下】【数据采集系统第七天】【二进制运算实现权限管理】【使用反射初始化权限表】【权限捕获拦截器动态添加权限】
- 打印数字的二进制 利用数组输出大数据
- 1.输出一个整数的每一位。2. 编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?