zoukankan      html  css  js  c++  java
  • C语言学习笔记:15_c语言中的进制操作.c

    /*
     * 15_c语言中的进制操作.c
     *
     *  Created on: 2015年7月5日
     *      Author: zhong
     */
    
    #include <stdio.h>
    #include <stdlib.h>
    
    /**
     * c语言中的进制表示
     *		 前面加0b表示二进制
     * 		加0x表示十六进制
     * 		数字前加0表示八进制
     *
     * printf按进制打印
     * 		%d %i 	以十进制打印
     * 		%o  	以八进制打印
     * 		%x  	以十六进制打印
     *
     * 		%p  	打印变量地址
     * 		%f 		 打印小数
     * 		%s  	打印字符串
     * 		%c 		 打印字符
     *
     *
     *
     1.二进制转十进制
     0b1100 = 0 * 2的0次方 + 0 * 2的1次方 + 1 * 2的2次方+ 1 * 2的3次方
            = 0 + 0 + 4 + 8 = 12
     0b1111 = 1 + 2 + 4 + 8 = 15
     0b1010 = 10
    
     2.十进制转二进制
     67 = 64 + 2 + 1 = 2的6次方 + 2的1次方 + 2的0次方
        = 0b1000000 + 0b10 + 0b1
        = 0b1000011
    
     3.n位二进制的取值范围
     2位二进制位的取值范围:0~3  0~2的2次方-1
     3位二进制位的取值范围:0~7  0~2的3次方-1
     n位二进制位的取值范围:0~2的n次方-1
    
    
     4个字节 -> 31bit
     0    000 0000 0000 0000 0000 0000 0000 1100
     0 ~ 2的31次方-1
     *
     *
     */
    void num_show_type() {
    	//默认就是十进制表示
    	int a = 12;
    	printf("%d->%o
    ", a,a); //%d 以十进制打印
    
    	//二进制
    //	int nu = 0b1100;
    //	printf("%d
    ", nu); //%d 以十进制打印
    	//八进制
    	int o = 014;
    	printf("%o->=%d
    ", o,o); //%o 以八进制打印
    
    	//十六进制
    	int x = 0xc;
    	printf("%x->=%d
    ", x); //%x 以十六进制打印
    
    }
    // 输出一个整数的二进制存储形式
    void putBinary(int n)
    {
        int bits = sizeof(n) * 8;
        while (bits-->0) {
            printf("%d", n>>bits&1);
            if (bits%4==0) printf(" ");
        }
        printf("
    ");
    }
    int main15() {
    //	num_show_type();
    	putBinary(12);
    	return 0;
    }
    

  • 相关阅读:
    OCP-1Z0-053-V13.02-638题
    OCP-1Z0-053-200题-60题-637
    OCP-1Z0-053-V13.02-637题
    OCP-1Z0-053-200题-47题-625
    OCP-1Z0-053-V13.02-625题
    OCP-1Z0-053-200题-42题-621
    OCP-1Z0-053-V13.02-621题
    OCP-1Z0-053-200题-41题-620
    OCP-1Z0-053-V13.02-620题
    OCP-1Z0-053-200题-37题-616
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5218052.html
Copyright © 2011-2022 走看看