A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wangxu 中级黑马   /  2014-8-24 23:08  /  1541 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


int main(int argc, const char * argv[])
{
    int num = 13;
//  按八进制的格式输出 输出格式符 %o 或 %O
    printf("%O\n",num);

//  按照十六进行的格式输出 输出格式符是 %x,它输出的字母是小写的,%X它输出字母是大写
    printf("%X\n",num);

//  C语言中没有提供输出二进制格式符

    printf("%lf\n", .089);

    return 0;
}

void test()
{
    //  在进制中是不区分大小写
    int a = 10; //默认是十进制
    //  0b 或 0B 开头的数值是二进制
    int b = 0b1101;
    //  %d按照十进制的格式输出一个整数
    printf("%d\n",b);
    //  八进制是 以 0开头的
    int o = 015;
    printf("%d\n",o);
    //  十六进制 是以0x 或 0X 开头
    int x = 0xd;
    printf("%d\n",x);

}

进制转换

int main(int argc, const char * argv[])
{
// 把十进制数转换二进制数 : 除2取余倒序排

/*            商      余数
    13 / 2    6       1
    6  / 2    3       0
    3  / 2    1       1
    1  / 2    0       1
*/

    int a = 0b1101;
    printf("a = %d\n",a);

//把二进制转换成10进制

/*
   0b1101
   把每一个位上的数乘以2幂数(从右到左,从零开始数),然后相加
   1 + 0 * 2 + 1 * 2(2) + 1 * 2(3) = 13

   快速将二进制转换成10进制

1     1  1  1 1 1 1 1
128  64 32 16 8 4 2 1


  0b1001 = 9
  0b1010 = 10
  0b101010 = 42

  颜色:RGB  R红色 G绿色 B蓝色
       每一个颜色都是占8二进制位,对应两个16进制位
        R  G  B
       ff ff ff  白色(最脏的颜色)
       00 00 00  黑色(最纯洁的颜色)
*/

/*
    把二进制转换成8进制:三个二进制位转换成一个八进制位,三个二进制2位最大表示7 一个八进制位最大也是7

    1,101 = 15
    把八进制转换二进制:一个八进制转换成三个二进制位
    1,5 = 1101

    把一个二进制数转换成16进制:四个二进制位转换一个十六进制位,四个二进制位最大表示15,一个16进制位最大也是15;

    0b11,1101 = 0x3d
    把一个十六进制数转换二进制数,1个十六进制位转成4个二进制位
    0x3,d = 0b11,1101


    把8进制转换16进制:先把八进制转位2进制,再把二进制转为16进制
    把16进制转八进制:先把16进制转换为2进制,再把二进制转换8进制
*/

    printf("%d\n", 0b111101);
    printf("%d\n", 0x3d);
    printf("%d\n",0b111101 == 0x3d );


    return 0;

}


7 个回复

倒序浏览
不错,学习了
回复 使用道具 举报
我来看看……
回复 使用道具 举报
看着好别扭。。
回复 使用道具 举报
谢谢分享,支持一下
回复 使用道具 举报
学习一下。。。。。。
回复 使用道具 举报
进制转换,嗯
回复 使用道具 举报
Meniny 中级黑马 2014-8-27 19:01:08
8#
哦晕,还以为是提问呢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马