按位运算符

按位与运算符 a & b 按位计算 a 和 b 的逻辑与
按位或运算符 a | b 按位计算a和b的逻辑或
按位异或运算符 a ^b 按位计算a和b的逻辑异或
~运算符 ~a 计算a的反码(将每一位取反之后的值)

注:这些运算符的操作必须是整数类数据类型或者枚举型。如果应用于浮点型等数据类型操作数,编译时就会出错。

#include <stdio.h>int count_bits(unsigned x){int count = 0;while(x) {if (x & 1U) {count++;}x >>= 1;}return count;
}int int_bits(void){return count_bits(~0U);
}void print_bits(unsigned x){int i ;for (i = int_bits() - 1; i >= 0; i--){putchar(((x >> i) & 1U) ? '1' : '0');}
}int main(void){unsigned num1, num2;printf("请输入两个非负整数。\n");printf("num1 : ");scanf("%u", &num1);printf("num2 : ");scanf("%u", &num2);printf("\nnum1        = ");print_bits(num1);printf("\nnum2        = ");print_bits(num2);printf("\nnum1 & num2 = ");print_bits(num1 & num2);printf("\nnum1 ! num2 = ");print_bits(num1 | num2);printf("\nnum1 ^ num2 = ");print_bits(num1 ^ num2);printf("\n~num1       = ");print_bits(~num1);              //反码 printf("\n~num2       = ");    // 反码 print_bits(~num2);putchar('\n');return 0;
}

运行结果:

  • count_bits函数:返回整数x中设置的位数
  • int_bits函数:返回 unsigned 型位数
  • print_bits函数: 显示 unsigned 型的位的内容

函数 print_bits 是将无符号整数 x 的所有位有用 0 和 1 来表示的函数。函数 int_bits 和 count_bits 被用于执行这一工作。

注:程序会在判断 unsigned 型的位数之后进行显示。这里展示的是 unsigned 型为16位的例子(如果unsigned型为32位,就会显示32位)。

C语言 用代码将10进制转换为2进制表示相关推荐

  1. 实现10进制转换为2进制

    代码(实现10进制转换为2进制) 实现10进制转换为2进制 #!/bin/bash # BIcon= declare -i i j x i=${i:-254} mask="128 64 32 ...

  2. 10进制转换为16进制数——算法

    10进制转换为16进制数 题目描述 ​ 十六进制数是在程序设计时经常要使用到的一种整数的表示方式.它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至 ...

  3. python 16进制转换为10进制,10进制转换为16进制。

    例子用的python2.7 16进制转换为10进制. 输入 0xaa 0XAB 返回 170 171 方法一,使用字典,自己写方法处理 #!/usr/bin/python #-*- coding:ut ...

  4. Python进制转换10进制转换为16进制,不使用hex函数

    笔试中遇到的问题 Python进制转换10进制转换为16进制,不使用hex函数 给定一个整数,编写一个算法将这个数转换为十六进制数.对于负整数,我们通常使用 补码运算 方法. 注意: 十六进制中所有字 ...

  5. c语言程序24转换12时间,C语言将24小时制转换为12小时制的方法

    C语言将24小时制转换为12小时制的方法 本文实例讲述了C语言将24小时制转换为12小时制的方法.分享给大家供大家参考.具体实现方法如下: /* * 24小时制转换为12小时制 */ #include ...

  6. 16进制转换为8进制

    16进制转换为2进制逆和8进制正 主要思想是将16进制转为2进制逆序,然后对2进制逆序进行正序3位1整合,成为8进制.其中设大数组全为零有利于二进制转八进制 #include<iostream& ...

  7. c语言24小时制转化12,在C ++中将时间从24小时制转换为12小时制

    在本教程中,我们将讨论将时间从24小时制转换为12小时制的程序. 为此,我们将提供24小时格式的特定时间.我们的任务是将其转换为带有" AM"或" PM"扩展名 ...

  8. php 12小时,使用php怎么将12小时制转换为24小时制

    使用php怎么将12小时制转换为24小时制 发布时间:2021-02-19 17:32:31 来源:亿速云 阅读:94 作者:Leah 使用php怎么将12小时制转换为24小时制?很多新手对此不是很清 ...

  9. 关于进制转换问题,10进制转换为26进制;

    目前有一个数N,想用AZ组合表示出来,即 1 = A,2 = B,3 = C,26 = Z,27 = AA,28 = AB,等等. 首先考虑二进制,二进制由0和1组成,10进制转换为二进制时候,用除以 ...

  10. 10进制转换为16进制

    十进制小数转换为16进制小数可采用乘16取整法,即: 十进制小数转R进制小数,方法为乘R取整,每次乘以相应之后基数后取结果的整数部分即可.需要注意的是并非所有的十进制小数都能完全转化为R进制小数,这时 ...

最新文章

  1. 8)排序②排序算法之选择排序[1]直接选择排序
  2. 如何用机器学习方法进行数据建模?(文末福利)
  3. 解决maven找不到jdk的问题
  4. IKAnalyzer使用停用词词典进行分词
  5. 怎么进入python官网-Python的安装及简单的使用
  6. ​css3属性选择器总结
  7. onlyoffice 20并发限制处理
  8. java 线程的join_多线程中join()
  9. leetcode448-Find All Numbers Disappeared in an Array
  10. Spring Cloud与微服务学习总结(6)——认证鉴权与API权限控制在微服务架构中的设计与实现(四)
  11. Set,Map数据结构
  12. jpa删除数据后数据库无修改_jpa删除数据库
  13. Python 画数学函数图像 matplotlib.pyplot
  14. SASE 本质探究(1):什么是云化
  15. Java 中status意思_java web开发中 varStatues=quot;statusquot; 中参数status是啥作用和意思呢?这个参数的设置有啥要求呢?...
  16. Java实现 kiosk模式,java – 使用“kiosk模式”创建Phonegap应用程序
  17. MBA心路历程第一天 —— 开始行动
  18. 未来计算机的发展趋势展望,未来计算机发展的5种趋势
  19. Jenkins+Jmeter+Ant接口用例执行情况监控
  20. 网站改版会影响网站流量吗

热门文章

  1. 【转】sudo命令情景分析
  2. miller_rabin_素性测试
  3. Scala中心基金会成立
  4. Hypertext Transfer Protocol -- HTTP/1.1
  5. HTML学习笔记之二(回到顶部 与 回到底部)
  6. 使用WindowManager添加View——悬浮窗口的基本原理
  7. Request 分别获取具有相同 name 属性表单元素值—— 怀念 Classic ASP (转自博客园)
  8. Mac下如何显示隐藏文件/文件夹
  9. c++经典书籍--c++ primer 第6版
  10. redis源码客户端和服务端通信过程