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
|
|