在计算机中,任意数据都是以二进制的形式来存储的。
一.进制
二进制:由0和1组成,代码中以0b开头。
十进制:由0~9组成,前面不需要加前缀。
八进制:由0~7组成,代码中以0开头
十六进制:由0~还有a~f组成,代码中以0x开头。
任意进制转十进制
公式:系数*基数的权次幂 相加
系数:每一位的数
基数:当前的进制数
权:从右到左,依次为 0 1 2 3 4 5……
例如:二进制转十进制
二进制
1 | 0 | 1 |
系数*基数的权次幂
1*2^2 | 0*2^1 | 1*2^0 |
4 + 0 + 1
十进制 =5 |
十进制转其他进制
除基取余法:
不断的除以基数(几进制,基数就是几)得到余数,直到商为0,再将余数倒着拼起来即可。
如图得
9的二进制结果为1001
二.ASCII表
为了让计算机运行的更加方便,计算机中每个字符都有自己特定的值,不同的字符有不同的数字来表示。
ASCII表
三.原码,反码,补码
定义:原码,反码,补码都是机器存储一个具体数字的编码工具。
原码
原码是 符号位加上真值的绝对值,第一位表示正负符号,其他位表示值。
反码
反码的表示方式:
正数的反码是它本身
负数的反码是在原码基础上,符号位不变,其他位相反
补码
补码的表示方式:
正数的补码是它本身
负数的补码是在原码基础上,符号位不变,其他位相反,最后加1。