C语言:操作符复习笔记

float类型(32位)

进制转换:float转二进制

**** > 12.5——>1100.1 ****

12——>1100
0.5——>2^-1

举例说明

float型转二进制
二进制转十六进制
二进制转十六进制
地址的存放
地址的存放
后置++
先把i取出来后再赋值给j 然后i本身自增1
1.下列代码打印结果为11,10

int i=10;
int j=i++printf("%d %d",i,j);

前置++
i先自增1然后再赋值给j
2.下列代码打印结果为11,11

int i=10;
int j=++i;

&&(且)同真则为真
| | (或)有一真则为真

经典例题:

int a=1;
int b=0;
int c=0;
if(a++ && b++ && c++)
{
    printf("true\n");
}
else
{
  printf("false\n");
 }
 printf("%d,%d,%d\n",a,b,c);

输出为 false
2,1,0
例题
表达式1 | | 表达式2 表达式1若为真表达式2不计算 此时表达式1 | |表达式2 也一定为真
~按位取反
11 0000 1011
~11 1111 0100

两个数之间 &按位与 |按位或 ^按位异或
11 0000 1011
13 0000 1101

11&13 0000 1001(有一个0则为0)
x&=x-1
x取1 x-1为0 此结果为0 此表达式表达为丢弃最右边的1

11 | 13 0000 1111 (有一个1则为1)
11^ 13 0000 0110(一样的为0 不一样的为1)

<<(按位左移) >>(按位右移)
例题
11<<1(按位左移一位) 000 1011 0
右补0 相当于112^1
11<<2(按位左移两位) 00 1011 00
右补两个0 相当于11
2^2

11>>1(按位右移1位) 0 0000 101
左移一位左边补符号位 0表示正数 1表示负数
在逻辑运算中若无符号位直接补0
-1补完还是-1

整数的二进制表示有:原码 反码 补码
存储到内存的是补码
反码 符号位不变 其余按位取反~
补码 原码+1

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值