文章目录
一、进制介绍
- 十进制
- 组成:0 1 2 3 4 5 6 7 8 9
- 规则:遇十进一
- 表示方法:520可表示为52010或者520D
- 二进制
- 表示方法:10010可表示为100102或者10010B
- 八进制
- 表示方法:520可表示为5208后者520O
- 十六进制
- 表示方法:520可表示为52016或者520H
二、存储单位
- 位(bit):计算机存储的最小单位
- 字节(byte):数据表示的最小单位
- 转换:
- 1byte=8bit
- 1KB=1024byte
- 1MB=1024KB
- 1GB=1024MB
- 1T=1024GB
三、进制转换
- 十进制转二 八 十六进制:辗转相除法(短除法)
关于短除法,就是把每一位(这里指的每一位是指个位十位之类的)除以要转换的进制的余数在乘以当前进制的值加到下一位去,当前位的值就为商,然后这样一直进行到最后一位(也就是个位)个位在对所须转换的进制在取模,那么这个模就是转换后的结果。多次重复,直到最后一位为0,从后往前看就是答案。
八 二 十六进制转十进制:位权计算
第一步先把数字从右到左编号:从0开始编号
应用公式:数值*该数的进制编号
链接:位权计算
八进制 二进制 十六进制之间的互相转换:拆分
八进制转二进制一个拆三个
520 5对应101 ,2对应010 ,0对应000,所以最后转为二进制就是101010000
二进制转八进制三个合一个
101 010 000分别对应5 2 0
其它同理
四、整数的存储方式
- 机器数(二进制):最高位存储符号,正0负1
例:-3可表示为1000 0011 - 机器数的真值:因为机器数带符号,所以机器数的形式值不等于机器值,为区分将带符号的机器数对应的真实值称为机器数的真值
- 原码,补码,反码
- 原码就是机器数
- 反码
- 正数的反码是其本身
- 负数的反码在其原码的基础上,符号位不变,其余各个位取反
- 补码
- 正数的补码是其本身
- 负数的补码为其反码+1
注:为什么要引进补码?
- 在计算机中存储的都是补码
- 如果你把一个负数以无符号的形式解析,那么将得到一个很大的数字
- 一个字节能够存储的数据范围?
- 有符号:[-128,127]1
- 无符号:[0,256)
五、小数的存储方式
分为float和double
- 内存分布
- 符号s:0正1负
- 尾数M:小数点后面的部分
- 指数E:即阶码,指明了小数点在数据中的位置
- 为了让指数表示正负引入了偏差码,
float
为127,double
为1024
- 十进制小数转二进制小数
- 先把整数部分转为二进制
- 再把小数部分转为二进制(用2乘以小数部分,每次将结果整数取出,然后用剩余小数部分继续乘以2,直到小数部分为0,或者达到要求的精度为止)
————————————————
版权声明:本文为CSDN博主「热爱编程的小K」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_72157449/article/details/127937778