zoukankan      html  css  js  c++  java
  • 进制间转换

    1.进制间转换
      十进制转二进制:十进制的数一直除以2,直到商为0,结果为逆序的每个余数。("除2取余,逆序排列"法,十进制转八、十六进制同理)

        16(10)→10000(2)

          


      十进制小数转二进制小数:小数一直乘以2,直到小数部分为0,结果为顺序的每个整数部分。("乘2取整,顺序排列"法)

        0.25(10)→0.01(2)

          0.25*2=0.5  取整是0    
          0.5*2=1.0    取整是1


      二进制转十进制:从右边第0位开始乘以2的位数次幂,二进制中为0的数忽略不计。

        101(2)→1*2^2+0+1*2^0=5(10)

      八进制转二进制转十进制(十六进制转二进制转十进制同理)

        3 4(8)

         ↓ 

        011 100(2)
         ↓

        28(10)

    2.计算机存储空间是以8位1字节,内存以补码的形式存储。

        

    3.关键字

      由字母、数字、下划线组成,不能数字开头。

    4.类型转换

      显示转换:(int)a  (int)2.5→2      通常发生在高精转低精,损精。

      隐式(自动)转换:通常发生在低精转高精,赋值号右边类型将转换为左边类型;

                                   同在赋值号右边将按高位看齐,char→int→unsigned→long→float→double(低→高精度转移)。

    5.注意问题
    (1)7%-4 → 3,-7%4 → -3
    (2)负号的优先级高于减号。负号与自增、自减同在,优先级按右结合。
    main()
    {
     int i=8;
     printf("%d ",++i);
     printf("%d ",--i);
     printf("%d ",i++);
     printf("%d ",i--);
     printf("%d ",-i++);
     printf("%d ",-i--);
     printf("%d ",i);
    }
    输出结果:9 8 8 9 -8 -9 8
    i的初值为8
    第二行i加1后故输出9
    第三行i减1后故输出8
    第四行输出i为8后再加1(为9)
    第五行输出i为9后再减1(为8)
    第六行输出-8后再加1(为9)
    第七行输出-9后再减1(为8)
    最后输出8
    (3)j=5;q=(++j)+(++j)+(++j);→j=8,q=24
    (4).
    8进制:正负号开头,0为第一位
    16进制:正负号开头,0x为前2位
    (5) i+++j→(i++)+j
    (6) x*=y+7→x=x*(y+7)

    (7) int z = sizeof(float);

    (8) printf("%0.0f ",0.55f);   →  1(浮点类型的显示的最后一位会四舍五入)

  • 相关阅读:
    java基础面试题(一)
    关于Redis的十个高频面试问题
    postgres中的merge join
    cgdb调试postgresql
    再见了,程序员!
    掌握这个小技巧,让你的 C++ 编译速度提升 50 倍!
    C语言修仙大法!基础知识全复习(纯干货)!!!
    一锅端了!北京朝阳一互联网公司被端,警方上门,23人被带走…
    C++入口不是main?知乎上都快打起来了,你们不要再打了啦!
    不用创建项目,直接在 VS 里快速测试 C/C++ 代码 !
  • 原文地址:https://www.cnblogs.com/huen/p/3475632.html
Copyright © 2011-2022 走看看