黑马程序员技术交流社区

标题: ios基础进制 [打印本页]

作者: zzzzly    时间: 2016-5-10 23:09
标题: ios基础进制
1、#include指令
作用: #include用来包含文件,是一个预处理指令
包含文件:
#include “ ”    用户自定义的文件
#include < >   系统自带的头文件

2、计算机中的进制
进制 取值
2进制: 逢二进1 0 1
8进制:逢八进1   01 234567
10进制:逢十进1   默认的进制 0 - 9
16进制:逢十六进1  0 - 9 A B C D E F

3、进制的转换
三个要素:
数位(0-7)、
基数(每一位能取值的个数)、
位权(数码*基数^数位)、 101 = 1*2^0+0*2^1+1*2^2
数码(每一位是1还是0)

转换:
10 -> 2   : 除2取余法,把10进制数除以2,然后取得余数的序列,再倒序
2 -> 10   : 所有位的位权相加 101 = 1*2^0+0*2^1+1*2^2
2 --> 16 : 4合1法, 整数部分从右向左 4位结合成一位,小数部分从左向右4位结合1位, 不足部   分补0
16 -->2 : 1拆4法, 16进制的1位拆成二进制的4位
2-->8 : 3合1
8-->2 : 1拆3
8 --> 10 : 8--> 2 --> 10
16 --> 10: 16 -->2 -->10

4、原码、反码和补码
1)机器码、真值
机器码 :一个数的二进制的表示
真值 :   把一个数的二进制转换为10进值得值

2)计算数据的存储
存储的时数的补码 数是有正负性
正数:最高位 用0表示符号位 负数:最高位 用1表示符号位

3)原码、反码、补码:
正数:三码合一
负数反码: 符号位不变,源码取反
负数补码:反码加1

5、为什么要使用反码补码?
答:1.主要是为了优化计算机中的减法
2.方便计算机进行减法运算   //(1 + (-1))

6、位运算符
按位与 & 同1则1,其余为0
按位或 |  有1为1
按位异或 ^ 相同为0,不同为1
按位的取反 ~ 0变1,1变0
>> 按位右移: 除以一个数的n次方,取整
<< 按位左移 乘以一个数的n次方

>> 按位右移:把一个数的所有的二进制位全部向右移动指定位数  // 10>>2;
注意:移出的位舍弃,高位补符号位
<< 按位左移
注意:移出的位舍弃,低位补0,可能会改变一个数的正负性

技巧:
1.任何数和1按位&操作,得到这个数的最低位
2.偶数的最低位 0
3.奇数的最低位 1




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2