Q : 什么是原码,反码,补码?

        A : 原码   符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值 

               反码  正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.

               补码  正数的补码就是其本身,负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

                        Eg :如果是8位二进制:

                                                              [+1] = [00000001] = [00000001] = [00000001]

                                                              [-1] = [10000001] = [11111110] = [11111111]

              了解更多:https://blog.csdn.net/zl10086111/article/details/80907428

        Q :#define lowbit(x) ((x)&(-x)) 这样定义的lowbit是什么意思呢?

         A :二进制按位与运算,返回不大于x的2的最大次方因子

                 Eg:  x=1~10     lowbit 1 2 1 4 1 2 1 8 1 2

              了解更多 : https://www.cnblogs.com/chenzhiyin/p/5292798.html 

  Q :关于inline......(慎用)

  A :在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数。

    原理:调用其函数的原处直接换为函数内的语句,增大码量,但避免了频繁调用函数对栈内存重复开辟所带来的消耗。

    值得注意:inline只适合涵数体内代码简单的涵数使用,不能包含复杂的结构控制语句例如while、switch,自我递归调用

    了解更多 : https://www.cnblogs.com/fnlingnzb-learner/p/6423917.html

           https://www.runoob.com/w3cnote/cpp-inline-usage.html

 

 
posted on 2019-06-22 23:20  RR-Jin  阅读(159)  评论(0编辑  收藏  举报