C学习笔记20170813

一.源码 反码 补码

1.正整数:源码 反码 补码都相同 第一位为符号位 1为正数 0为负数

    1=0000 0000 0000 0000 0000 0000 0000 0001

2.负整数:

    源码:

    1000 0000 0000 0000 0000 0000 0000 0001

    反码:符号位不变 其他位取反

    1111 1111 1111 1111 1111 1111 1111 1110

    补码:反码+1

    1111 1111 1111 1111 1111 1111 1111 1111

3.在计算机中储存的都是数字的补码

4.运算1-1=1+-1

    0000 0000 0000 0000 0000 0000 0000 0001

    1111   1111 1111  1111  1111 1111   1111 1111

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

    0000 0000 0000 0000 0000 0000 0000 0000

二.位运算 针对于二进制的运算

1.&  按位与

  对应二进制位上 一个为0全为0 全1为1

2.| 按位或

    对应的二进制位上一个为1则为1 全0为0

3.^  按位异或

    对应二进制位上 不同为1 相同为0

    多个数异或遵循加法交换律

    任何异或上0的数都为原来的数

    相同的数异或为0

4.~  按位取反

    对应二进制位上 0变1 1变0

5.>>  右移

    m>>n 向右移动n位 移出的位删除 补缺符号位(正0 负1)

    快速计算一个数除以2的n次方

6.<<  左移

    m向左移动n位 移出来的直接删除 移入的用0补齐

    左移可能会改变符号位(正负)

    使用场景:当数比较小时候,可以快速计算这个数乘以2的多少次方

7.左乘右除

三.变量

    当定义变量的时候 首先会分配地址大的字节

    先定义变量的地址大于后定义变量的地址

    变量的地址就是变量所储存的空间

    高位在高字节上 地位在低字节上

四.变量的修饰符

    int      取值-2的31次方—2的31次方-1

    short  取值-2的15次方—2的15次方-1

    long    取值-2的31次方—2的31次方-1

    long long 取值-2的31次方—2的31次方-1(64 位操作系统)

    Unsigned  无符号的数

    Unsigned int I; 取值范围0-2的32次方-1 扩大一倍

五.字符类型

   char    1个字节 8位 0-255=256=2的8次方 ASCII

六.其它

    1.二进制中最高位是1 这个数为 负数 为0 正数

    2.二进制中最后1位和奇数偶数有关 1位奇数 0为偶数

    3.两个数交换a b
        a=a^b
        b=a^b
        a=a^b

    4.%p是用来输出地址的

    5.0  代表8进制
       0x 代表16进制
      无  代表10进制

    6.Char  1个字节 8位 0-255=256=2的8次方
       Short 2个字节
       Int      4个字节
       long   8个字节
       long long8个字节(64 位操作系统)
       一个中文占2个字节    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值