C语言在线运行

版本:

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
冒泡排序。。 发布于:2024-03-27 15:53 动态链表尾插法 发布于:2024-03-27 15:51 动态链表头插法 发布于:2024-03-27 15:19 洛谷歌唱比赛 发布于:2024-03-27 14:10 7.算术运算符与表达式 发布于:2024-03-27 11:50 笔记(赋值运算) 发布于:2024-03-27 10:39 6.赋值运算符与表达式 发布于:2024-03-27 11:50 笔记(字符类型) 发布于:2024-03-27 10:22 洛谷数组入门:幻方 发布于:2024-03-26 14:58 洛谷入门1:上学时间 发布于:2024-03-26 10:14 数组逆序输出 发布于:2024-03-25 20:27 输入日期判断是这一年的第几天 发布于:2024-03-25 09:50 四门成绩平均值 发布于:2024-03-25 08:32 输入四个数字输出平均数 发布于:2024-03-24 18:20 C语言选择排序 发布于:2024-03-24 10:47 实现正序和反序输出26个英文大写字母 发布于:2024-03-24 00:14 C语言的,输入数据,从小打到排序 发布于:2024-03-25 20:08 这是一个字符分拆测试方法 发布于:2024-03-23 21:26 转字母大小写 发布于:2024-03-23 15:30 杨辉三角形 发布于:2024-03-22 15:56 用条件表达式,完成 ,成绩>=90,A 成绩在60-89 B 成绩小于60 C 发布于:2024-03-22 00:02 求最大公质数 发布于:2024-03-21 15:56 在小于10的自然数中,3或5的倍数有3、5、6和9,这些数之和是23。 发布于:2024-03-21 16:07 1000以内三和五倍数的和 发布于:2024-03-21 15:43 笔记(浮点型数据) 发布于:2024-03-20 11:17 状态机 学习实现1 A action 动作 S state 状态 E event 事件 状态 S0 S1 S2 事件 A0/S0 -- A0/S0 E0 A1/S1 -- -- E1 A2/S2 A2/S2 -- E2 发布于:2024-03-27 10:53 Test for motorola 发布于:2024-03-19 10:13 计算阶乘结果 发布于:2024-03-18 15:19 三角形面积 发布于:2024-03-16 23:27 小学加减乘除 发布于:2024-03-16 22:44 大厦的卡卡但是按时收费 发布于:2024-03-16 18:58 每一项分子等于前一项的分子+分母,分母等于分子; 求 N项之和 *unsigned C中表示 以非补码形式表示; 发布于:2024-03-15 22:21 Motorola数据解析 发布于:2024-03-17 12:17 递归的进入与退出 发布于:2024-03-14 20:33 简单数字方阵 发布于:2024-03-22 11:20 输出一行* 发布于:2024-03-14 16:37 字符转ASCII码 发布于:2024-03-14 16:28 例3.1(第70页)线性表按奇偶拆分 发布于:2024-03-13 22:50 将两个顺序表合并为一个顺序表 发布于:2024-03-13 22:48 第3.2.3节(第75页)顺序表的应用实例 发布于:2024-03-13 21:54 编程题合集 发布于:2024-03-20 14:44 算法3.4(第74页)顺序表中删除指定序号的结点 发布于:2024-03-13 21:44 算法3.2和算法3.3(第72页) 发布于:2024-03-13 21:59 算法3.12和算法3.13(第86页) 发布于:2024-03-13 21:59 例3.3(2)(第85页) 发布于:2024-03-13 21:59 例3.3(1)(第85页) 发布于:2024-03-13 21:58 单链表的翻转和销毁 发布于:2024-03-13 14:15 算法3.11(第84页)单链表删除元素 发布于:2024-03-13 14:16 例3.2(第83页)在升序排列的链表里插入元素 发布于:2024-03-13 13:50 [更多]
显示目录

位运算符



学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

位运算符

位运算符作用于位,并逐位执行操作。&、 | 和 ^ 的真值表如下所示:

p q p & q p丨q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1

假设如果 A = 60,且 B = 13,现在以二进制格式表示,它们如下所示:

A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A|B = 0011 1101

A^B = 0011 0001

~A = 1100 0011

下表显示了 C 语言支持的位运算符。假设变量 A 的值为 60,变量 B 的值为 13,则:

运算符 描述 实例
& 按位与操作,按二进制位进行“与”运算。运算规则: 0&0=0; 0&1=0; 1&0=0; 1&1=1; (A & B) 将得到 12,即为 0000 1100
| 按位或运算符,按二进制位进行“或”运算。 运算规则:0丨0=0; 0丨1=1; 1丨0=1; 1丨1=1; (A丨B) 将得到 61,即为 0011 1101
^ 异或运算符,按二进制位进行“异或”运算。运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0 (A ^ B) 将得到 49,即为 0011 0001
~ 取反运算符,按二进制位进行“取反”运算。运算规则:~1=0 ~0=1; (~A ) 将得到 -61,即为 1100 0011,2 的补码形式,带符号的二进制数。
<< 二进制左移运算符。左操作数的值向左移动右操作数指定的位数(左边的二进制位丢弃,右边补0)。 A << 2 将得到 240,即为 1111 0000
>> 二进制右移运算符。左操作数的值向右移动右操作数指定的位数(正数左补0,负数左补1,右边丢弃)。 A >> 2 将得到 15,即为 0000 1111

实例

请看下面的实例,了解 C 语言中所有可用的位运算符:

    #include <stdio.h>

    int main()
    {

       unsigned int a = 60; /* 60 = 0011 1100 */  
       unsigned int b = 13; /* 13 = 0000 1101 */
       int c = 0;           

       c = a & b;       /* 12 = 0000 1100 */ 
       printf("Line 1 - c 的值是 %d\n", c );

       c = a | b;       /* 61 = 0011 1101 */
       printf("Line 2 - c 的值是 %d\n", c );

       c = a ^ b;       /* 49 = 0011 0001 */
       printf("Line 3 - c 的值是 %d\n", c );

       c = ~a;          /*-61 = 1100 0011 */
       printf("Line 4 - c 的值是 %d\n", c );

       c = a << 2;     /* 240 = 1111 0000 */
       printf("Line 5 - c 的值是 %d\n", c );

       c = a >> 2;     /* 15 = 0000 1111 */
       printf("Line 6 - c 的值是 %d\n", c );
    }

当上面的代码被编译和执行时,它会产生下列结果:

Line 1 - c 的值是 12
Line 2 - c 的值是 61
Line 3 - c 的值是 49
Line 4 - c 的值是 -61
Line 5 - c 的值是 240
Line 6 - c 的值是 15
由JSRUN为你提供的C语言在线运行、在线编译工具
        JSRUN提供的C语言 在线运行,C语言 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout