C语言学习笔记——2022.09.07

C语言中负数的存贮

对于有符号的数,规定其二进制代码的最高位为符号位。

只要是整数,内存中存储的的都是二进制补码

正数的原码、反码、补码相同

 负数在内存中存储的是二进制的“补码”

使用时,打印的是这个数的“原码”

那么补码怎么变为原码呢?

补码→反码→原码

eg:        补码:1111 1111 1111

反码=补码减1=1111 1111 1110

原码=反码中每个数取反,除第一位(在二进制表示方法中第一位表示正负,二进制的第一位为1则是负数,第一位为0则这个二进制数是正数)

所以,原码=1000 0000 0001

转为十进制为-1

前置++,与后置++(--同理)

 逻辑&&(与),逻辑||(或)

int a,b;

1.a&&b  ,若a和b都为非0(非0就是真)  则逻辑运算的结果为1(真)。

  反正,若a和b中有一个为0(假),则逻辑运算的结果为0(假)。

2.a||b , 若a和b有一个为真,  则逻辑运算的结果为1(真)。

  反正,若a和b都为0,则逻辑运算的结果为0(假)。

计算符号与&、或  |、异或  ^

 注意:运算对象为二进制

a=3  (011)    b=5 (101)   

a&b=1(001)               a|b=7(111)             a^b=6(110)

&与:相同为1,反之为0

|或:有1就为1

^:  相同为0,反之为1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值