二进制
我们在学习计算机语言的时候经常能听到什么二进制
,8进制
,16进制
,那么这些是什么意思呢?
二进制是计算机中常用的语言,才想要理解二进制
,还要从10进制
开始说起
十进制
如果说二进制语言是计算机中常用的,那么十进制就是日常生活中常用的
十进制顾名思义就是满十进一,组成的数字中只有0~9
由十进制的理解类比出二进制
那么二进制也一样
二进制中满二进一,组成的数字只有0~1
比如说10101
就是一个二进制数字
二进制转十进制数字
在十进制数字123
,我们会读成一百二十三,为什么呢
这就涉及到转换进制中的核心因素:权重
其实十进制每一位都是有权重的,十进制的数字从右往左依次是个位,十位,百位等,而对应的权重就是10的0次方,10的1次方,10的2次方等等
而二进制的权重与十进制的排布类似,从右往左依次是2的0次方,2的1次方,2的2次方等等
所以二进制的1011
该如何理解呢
答案就是从右往左一次1*2的0次方
,1*2的1次方
,0*2的2次方
,1*2的3次方
之和相加
所以二进制的1011
换算成十进制就是11
十进制转二进制
将十进制的数除以2,将余数放在一边,商继续除以2,这样下去余数会只有0和1,等到最后商是0的时候,将余数从后往前排列,就是十进制转为二进制的结果
用文字解释不清,从网上拿了一张图,以供大家理解(侵权秒删)
二进制转8进制
8进制中数字由0~7构成,在数字0--7
中,各自写成最多只需要3个二进制位,比如7的二进制位是111,在往上在8进制就中要进1
所以,在二进制位中,从右往左每3个2进制位换算成一个8进制位,不够三个2进制位直接换算
二进制转16进制
二进制转16进制的原理和二进制转8进制的原理类似
16进制中有数字0~9,和字母a–f,而a
可以理解为10
,b
可以理解为11
,因为只有一个16进制位可以表示所以二位数由字母代替
他们各自写成2进制只需要4个二进制位就足够,原理与二进制转8进制相似,不多赘述
原码,反码,补码
整数的二进制位有三种表示方法,分别是原码,反码,补码
有符号的整数的三中表示都有符号位和数值位,在二进制序列中,最高位被称为符号位,其余的为数值位
在符号位中用0表示正,用1表示负
正整数的原反补码都相同
负整数的原反补码各不相同
- 原码:用二进制直接翻译过来就是原码
- 反码:原码的符号位不变,其他位按位取反就是反码(
0变成1,1变成0
) - 补码:反码加1就能得到补码
补码转原码也是按位取反加1
对于整型来说,数据存放内存中其实存放的是补码
因为在计算器中,使用补码可以将符号位和数值域、加法和减法统一处理,而且补码和原码的相互转换运算过程形同,不予要额外的硬件电路
今天的知识讲解完啦,如果觉得有用可以点一下赞和关注,也可以先收藏以防需要时找不到哦,当然如果作者写的哪里有问题欢迎指出,我们一起进步!!!
祝看到这里的人天天开心哦(笔芯)