zoukankan      html  css  js  c++  java
  • 【C语言疯狂讲义】(七)C语言进制转换

     1、计算机中的进制

     

        2进制:逢二进1      0  1

        8进制:逢八进1      0  1   2  3  4  5  6  7

        10进制:逢十进 默认的进制  0 - 9

        16进制:逢十六进1   0 - 9  A B C D E F      (内存的地址格式)

     

     

     2、进制的转换问题

     

        三个要素:

     

            数位(0-7)、

            基数(每一位能取值的个数)、

            位权(数码*基数^数位)、    101 = 1*2^0+0*2^1+1*2^2

            数码(每一位设置)

     

        转换:有得时候转换为人能识别的数制,要操作计算机写计算机可以识别的语言(二进制)

        10 -> 2  :  2取余法,把10进制数除以2,然后取得余数的序列。再倒序

        2  -> 10 :  全部位的位权相加 101 = 1*2^0+0*2^1+1*2^2

     

        2 --> 16 :  41法。 整数部分从右向左 4位结合成一位。小数部分从左向右4位结合1位,不足部分补0

        16 -->2  :  14法。 16进制的1位拆成二进制的4

     

        2 --> 8  : 31

        8 --> 2  : 13

     

      

        8 --> 10 : 8--> 2 --> 10

        16 --> 10: 16 -->2 -->10

     

     3、原码、反码和补码

     

        1)机器码、真值

          一个数的二进制的表示  机器码

          把一个数的二进制转换为10进值得值  真值

     

        2)计算数据的存储

       

          存储的时数的补码

          数是有正负性

          正数:最高位 0表示符号位 

          负数:最高位 1表示符号位

     

        3)原码、反码、补码:

       

           正数:就是其二进制表示         +1 00000001

           负数:二进制的最高位是1        -1 10000001

     

           反码:

     

           正数:就是其二进制表示         +1 00000001

           负数:符号位不变,其它位逐位取反 -1 11111110

     

           补码:

           正数:就是其二进制表示         +1 00000001

           负数:反码+1                 -1 11111111 

     

           注意:补码的真值不等于原码的真值的

     

     

     4、为什么要使用补码?

     

          主要是位了优化计算机中的减法

     

     5、补码的深入解说

     

          1-1   =  1+(-1)

     

     6、位运算符

     

          二进制数码之间的运算

     

          6个符号

     

          & 按位与:逐位运算,有0则为0,同1则为1

          | 按位或:有11

          ^ 按位异或:同样为0。不同为1

          ~ 按位的取反:0110

          >> 按位右移:把一个数的所有的二进制位所有向右移动指定位数 10>>2;

                     注意:移出的位舍弃,高位补符号位,可能让一个数为0

          << 按位左移

     

                     把一个数的所有的二进制位所有向左移动指定位数

                     注意:移出的位舍弃。低位补0。可能会改变一个数的正负性

     

          11&2

     

          1011

       &  0010

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

          0010   

     

          技巧:

     

           不论什么数和1按位&操作。得到这个数的最低位

           偶数的最低位 0

           奇数的最低位 1

     

     

     7、变量在内存中存储的细节

     

           内存分配给变量的存储空间是从高到低

     

           一个变量低位低地址

           高位存放高地址

     

     8char类型

     

           char 

           char常量  'a','b',

               int型进行存储,占4个字节

           char变量

  • 相关阅读:
    递归实现全排列问题
    LeetCode
    LeetCode
    连续子元素最大和
    简单模板view调用
    如何清除PHP中不需要的Layout模板
    Model中设置表单验证方法
    数据修改操作
    MVC模式tp框架四中路由形式
    zend Framework的MVC模式的搭建
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/6770260.html
Copyright © 2011-2022 走看看