ios开发-c语言之进制和位运算的学习


在日常生活中,我们接触的数字,大都是十进制的数字,今天我学习了进制和位运算后,觉得很受益,接下来谈谈我的学习内容: 

.常用的进制:

     1)十进制: 10

        日常中用的都是十进制.

     2)二进制: 0b1001 

        内存中变量的储存形式就是二进制.

     3)八进制: 0312

     4)十六进制:ox15ef

        0-9/a-f来表示十六进制.

 .进制的转换:

    重点是二进制转十进制,十进制转二进制.

 .printf以不同进制形式进行输出:

    %d  带符号的十进制

    %o  不带符号的八进制

    %x  不带符号的十六进制

    %u  不带符号的十进制

    %c  输出一个字符

    %s  输出一个或多个字符 

    %f  以小数形式输出,默认6位小数

 .变量的内存分析:

     1)字节:内存以字节为单位进行存储

     2)不同类型的数据类型所占的字节数不同    

        int - 4个字节    

        char - 1个字节 

        double - 8个字节

        shot - 2个字节

        long - 8个字节

     3)每个变量都有地址,第一个字节的地址是变量的地址

     4)查看地址的方式: %p

            例如:

            #include <stdio.h>

            int main()

            {

                    int a = 10;

                    printf("%p", &a);//打印结果0x7fff5ed37bf

                    return 0;

            }

   五.

位运算:

    1)按位与:  &

        只有两个二进制位都是1的时候,结果为1,其余都为0;

    2)按位或:  |

        只要有一个是1,结果就为1,其余为0;

    3)按位异或: ^

        二进制位不一样的为1,其余为0.

        两个特性:

            1)a^a=0;

            2)a^b^c = b^a^c

    3)按位取反: ~ 每位的0和1互换

    4)左移: a<<2a的二进制位整体左移2

        特性:a << n,相当于a*2n次方(效率较高).

    5)右移: a>>2a的二进制位整体向右移动2  

        特性:a >> n,相当于a*2-n次方

    6)利用&来判断数字的奇偶性:

        a&1=1就是奇数;

        a&1=0就是偶数.

总结:利用进制的算法和位运算,可以将两个数的值互换,请看下题:



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值