计算机只能识别二进制; 1.存储单位 最小存储单位:bit(比特) ----- 存储 0和1 基本存储单位:byte(字节) ----- 1byte = 8bit 其他单位:理论上 1KB = 1024B 1MB = 1024KB 1GB= 1024MB 1TB = 1024 GB Ps: 工业上:1Gb = 1000Mb 2.数制位: 二进制:满2进1,由1和0组成 , 1010010 八进制(0开头): 满8进1,由0~7组成 0100 十六进制(0x开头):满16进1,由0-f组成(0-9 , a-f) 0x100
ps:二进制权为2 八进制权为8 十六进制权为16
进制转换 十进制---》二进制(除2取余法,拼凑发) 100 ----》 0110 0100二进制------》十进制 11000011 =
从右往左运算:位值权4+位值*权3+位值权2+位值*权1+位值*权^0
二进制 —》 八进制 : 每3个二进制位 就是1个八进制位 二进制: 011 000 011 八进制:0303 二进制 —》 十六进制 : 每4个二进制位 就是1个16进制位 二进制: 0011 1100 十六 : 0x 3 c = 0x3c
ps:进制转换可以以二进制当中间过渡 如八进制----》二进制----》十进制
3、整数的存储 正数:以原码(二进制)的形式存放 负数:以补码的形式存放 0 代表 + 1 代表 -
如 : 1 和 -1 1 原码:0000 0000 0000 0001 -1 原码:1 000 0000 0000 0001 (最高位代表) 反码:符号位不变,其他值取反 1 111 1111 1111 1110 补码 : 反码+1 1111 1111 1111 1111Ps: 1、正数计算补码没有意义(正数以源码存放) 2. 取出正数,以原码取出 取出负数,必须转换成原码取出(注:如果有符号位且最高位为1 , 计算机会认为当前二进制是负数 , 然后转换成原码取出)
Ps:以上三句话贯彻C语言学习的始终,往读者切记
敬请期待。。。。。