复习Day2

运算符

&&逻辑与:全真为真,一假则假
||逻辑或:一真则真,全假则假
!逻辑非:非真即假,非假即真

截断法则

逻辑与:前边表达式结果为假,后边表达式不再执行,直接返回假
逻辑或:前边表达式结果为真,后边表达式不再执行,直接返回真

位运算符

二进制数 1,0
& 位与 全1则1,有0则0
| 位或 有1则1,全0则0
^ 异或 相同为0,不同为1
~ 取反 补码0—>1 1—>0
“<<”左移
“>>”右移
#include <stdio.h>

#include<stdio.h>
int main(int argc, char const *argv[])
{
    int a=15;
    int b=6;
    int c=a&b;
    //15:1111
    // 6:0110
    // &:0110---6
    printf("%d\n",c); //6
    return 0;
}

负数位运算
整数三种表示形式
正数原码,反码、补码相同
原码:给我们看的
补码:给计算机看的
计算机中整数以二进制的补码形式存储、计算
负数:原码不变 ,反码:源码除符号位,其他按位取反,补码:反码+1

int a=15;
    int b=-6;
    int c=a&b;
    printf("%d\n",c); // 10
int 4字节=321字节=8位
假设按1字节算  
15补码:
0000 1111
-6原码:   最左边表示符号位  0正数   1负数
1000 0110
-6反码:
1111 1001
-6补码:
1111 1010
15补码 & -6补码:
0000 1111
1111 1010
0000 1010  补码  ---->  10

<<左移:左移n位,右边补n个0
6<<224 6:110---->11000—>24
6*2^2
24
-6*2^2 -24
">>"右移:
6>>2 6:110—>1
6/2^2
1;
-6/2^2 ==-2

运算符优先级

单算移关与,异或逻条赋
单目运算符:++ – ! ~
算术运算符:* / % + -
移位运算符:<< >>
关系运算符:> >= < <= == !=
位与运算符:&
异或运算符:^
位或运算符:|
逻辑运算符:&& ||
条件运算符:?:
赋值运算符: = += -= (乘=) /= %= a-=5;//a=a-5
表达数1? 表达式2 : 表达式3
判断表达式1是否成立,成立执行表达2,否则执行表达式3

int a =15;
int b=6;
int c=a>b?a:b;\\如果a>b的值为真则c等于a,反之等于b
printf("%d\n",c);

进制转换

二进制 0 1 2:10
八进制 0-7 8:010
十进制 0-9
十六进制 0-9 a-f 16:0x10
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值