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\n", a,a); //%d 以十进制打印

	//二进制
//	int nu = 0b1100;
//	printf("%d\n", nu); //%d 以十进制打印
	//八进制
	int o = 014;
	printf("%o->=%d\n", o,o); //%o 以八进制打印

	//十六进制
	int x = 0xc;
	printf("%x->=%d\n", 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("\n");
}
int main15() {
//	num_show_type();
	putBinary(12);
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-27 17:24:24

C语言学习笔记:15_c语言中的进制操作.c的相关文章

Guava学习笔记:guava中对字符串的操作

Guava学习笔记:guava中对字符串的操作 转载:http://outofmemory.cn/java/guava/base/Strings 在google guava中为字符串操作提供了很大的便利,有老牌的判断字符串是否为空字符串或者为null,用指定字符填充字符串,以及拆分合并字符串,字符串匹配的判断等等. 下面我们逐一了解这些操作: 1. 使用com.google.common.base.Strings类的isNullOrEmpty(input)方法判断字符串是否为空        

C语言学习笔记---001C语言的介绍,编译过程原理,工具等

技术qq交流群:Dream:251572072 ----------------------------------------------------------------------- a.C语言的历史 起源 标准化 b.基于c的语言 编程语言都借鉴了c语言的特性 c++语言:包含所有c语言特性,增加了类和其他的特性支持面向对象编程 java:基于C++的,包含了一些c的特性 C#:是由java和c++发展起来的 Perl:脚本语言 c.c语言特性: c语言是一种底层语言,为了适应系统编程

C语言学习笔记--C语言中的宏定义

1. C 语言中的宏定义 (1)#define 是预处理器处理的单元实体之一(因此,预处理器只是简单的进行替换,并不(2)#define 定义的宏可以出现在程序的任意位置(包括函数体的内部)(3)#define 定义之后的代码都可以使用这个宏 2. 定义宏常量 (1)#define 定义的宏常量可以直接使用(2)#define 定义的宏常量本质为字面量 3. 宏定义表达式 (1)#define 表达式的使用类似函数调用(2)#define 表达式可以比函数更强大(3)#define 表达式比函数

黑马程序员------C 语言学习笔记---C语言中的宏定义

1.5    C语言程序的运行过程 01 源程序:由高级语言或汇编语言编写,C语言源程序的扩展名为.C 02 目标程序:源程序经“编译程序”翻译所得的二进制代码为目标程序,其扩展名为.obj 03 可执行程序:目标程序与库函数连接,形成可执行程序,.out #include <stdio.h> int main() { #define PI 3.14 double r,len,area; printf("请输入半径:\n"); // 提示用户输入半径 scanf("

C语言学习笔记 (002) - C++中引用和指针的区别(转载)

下面用通俗易懂的话来概述一下: 指针-对于一个类型T,T*就是指向T的指针类型,也即一个T*类型的变量能够保存一个T对象的地址,而类型T是可以加一些限定词的,如const.volatile等等.见下图,所示指针的含义: 引用-引用是一个对象的别名,主要用于函数参数和返回值类型,符号X&表示X类型的引用.见下图,所示引用的含义: 2.指针和引用的区别 首先,引用不可以为空,但指针可以为空.前面也说过了引用是对象的别名,引用为空--对象都不存在,怎么可能有别名!故定义一个引用的时候,必须初始化.因此

11-黑马程序员------C 语言学习笔记---C语言的变量的作用域和储存类型

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 五 变量的作用域和储存类型 01 变量的作用域是指该变量有效地区域,C语言中得变量分为局部变量和全局变量. 02 局部变量: *局部变量的作用域仅限于定义它的代码块内,离开代码块内便失去作用. *形参只有在函数内有效,其也属于局

09-黑马程序员------C 语言学习笔记--- C语言函数

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 一 函数定义 01 函数分为库函数和自定义函数两种 函数一般格式: 函数返回值类型 函数名(数据类型 参数1, 数据类型 参数2,……..) { 函数体: } *函数若不需要返回值类型,则用void表示 *函数的标志是括号,不管

12-黑马程序员------C 语言学习笔记--- C语言指针与函数

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 六 指针与函数 01 指针作为函数参数 指针作为实参时,与普通变量一样,也是采用单向的值传递方式,即将指针变量的值(该值是一个地址)传递给被调函数的形参(必须也是一个指针变量).由于形参接受实参传递的值是一个地址,这样两者就指向

黑马程序员------C 语言学习笔记---C语言的基本结构

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 第一 C语言结构基础 1.1     C语言的基本结构 01          #include <stdio.h> :表示文件包含,功能是将头文件stdio.h中的内容包含到程序中. 02          mai