IOS之c语言笔记 day04
来源:互联网 发布:恩比德体测数据 编辑:程序博客网 时间:2024/04/28 10:10
day01
c语言基础
内存分析
- 二进制: 0b\0B
- 八进制: 0
- 十六进制: 0x\0X
进制转换练习
十进制:12二进制:逢2进1--->>>>1100八进制:逢8进1--->>>>14十六进制:逢16进1--->>>>C 10 A,11 B,12 C,13 D,14 E,15 F
printf不同进制的输出方式
- %d 有符号十进制整数
- %o 无符号的八进制整数
- %x 无符号的十六进制整数
- %u 无符号的十进制整数
- %c 输出一个字符串
- %s 输出一个或多个字符
- %f 以小数输出单、双精度数,默认6位小数
- %e 以标准指数形式输出单、双精度数,6位小数
总结
- %d\%i 十进制形式输出整数
- %c 输出字符
- %p 输出地址
- %f 输出小数
- %o 八进制形式输出整数
- %x 十六进制形式输出整数
内存分析
// 一个int类型数据占据4个字节、32bit// 0000 0000 0000 0000 0000 0000 0000 1100int number = 12; // 1100// 0000 0000 0000 0000 0000 0000 0000 1101int number2 = 13; // 1101 字节 变量 内容 ffc1 ffc2 number2 0000 1101 ffc3 0000 0000 ffc4 0000 0000 ffc5 0000 0000 ffc6 number 0000 1100 ffc7 0000 0000 ffc8 0000 0000 ffc9 0000 0000
总结
内存寻址由大的内存地址开始分配,并且存放数据的时候也是从大的内存地址开始存放变量的地址就是它的第一个字节的地址
.089 == 0.089
aeb == a*10的b次方
二进制转换十进制
0b1100 == 0*2(0)+0*2(1)+1*2(2)+1*2(3)
= 0 + 0 + 4 + 8 = 12
十进制转换二进制
67 = 64 + 2 + 1
= 2的6次方+2的1次方+2的0次方
= 0b1000000 + 0b10 + 0b1
= 0b1000011
n位二进制的取值范围
2位二进位的取值范围 0~3
00 0
01 1
10 2
11 3
2位二进位的取值范围 0~7
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
0~2^n-1 == 0到2的n次方-1
最大值是2^n次方-1
负数和取值范围
最高位0正数
最高位1负数
负数涉及到反码和补码
负数的取值范围
4个字节 -> 31bit
最高位是符号位
正数 0~2的31次方-1
负数 -2的31次方
类型说明符(为了修饰int类型)
- short 2个字节 %d
- short int = short
- long 8个字节 %ld == l
- long == long int <扩充的整型) ==l
- long long int 8个字节 %lld(64位上8个字节) 32位编译器上会有区别 == ll
- long long int == long long == ll
- signed == signed int 有符号:正数、0、负数 2的31次方-1 ,最高位要当做符号位
解析
signed -2的23次方- 2的31次方-1
unsigned 0 到 2的32次方-1
unsigned == unsigned int 无符号: 0、正数(不把最高位拿到当符号位,正数的最大值会变大 2的32次方-1 最高位不当做符号位int 默认就是有符号位,int最高位当做符号位一般人不写signed只写unsignedlong unsigned int c = 34343;long unsigned = long unsigned intshort unsigned = short unsigned intsingned和unsigned不会修改数据长度
以后需要研究的函数
// 输出一个整数的二进制存储形式void putBinary(int n){ int bits = sizeof(n) * 8; while (bits-->0) { printf("%d", n>>bits&1); if (bits%4==0) printf(" "); } printf("\n");}
位运算
& 与 | 或 ^ 异或 ~ 取反 >> 右移 << 左移
sizeOf
用来计算一个变量或者一个常量、一种数据类型所占的内存字节数。
逻辑运算符
条件1&&条件2 两个条件都为真才返回1条件1||条件2 有一个条件为真才返回1!条件
0 0
- IOS之c语言笔记 day04
- c语言学习之day04
- C语言,day04
- 我的C语言入门到精通之路 day04
- C语言DAY04 - 流程控制
- IOS之c语言笔记 day01
- IOS之c语言笔记 day02
- IOS之c语言笔记 day03
- IOS之c语言笔记 day05
- IOS之c语言笔记 day06
- IOS之c语言笔记 day07
- ios之c语言学习笔记
- JAVA语言基础 +JAVA学习笔记-DAY04
- Day04笔记
- day04笔记
- day04笔记
- 02.IOS学习笔记之C语言概述
- 03.IOS学习笔记之第一个C语言程序
- Storm架构
- Linux内核调试工具: Crash - 调试page cache的新工具
- HDOJ 5611-Baby Ming and phone number【模拟】
- HDU(1301)最小生成树
- cocos中ProgressTimer,进度条
- IOS之c语言笔记 day04
- jQuery Validate验证框架详解
- C#读取ini文件方法,实质是使用C++的库
- IOS之c语言笔记 day05
- Processing 时钟
- springmvc + quartz任务调度执行多次问题
- [android]_[初级]_[通过会话thread_id查询群发信息(文本彩信)]
- Storm分组机制
- mysql日志详细解析