《重生到现代之从零开始的C语言生活》——二进制等其他进制的讲解

二进制

我们在学习计算机语言的时候经常能听到什么二进制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可以理解为10b可以理解为11,因为只有一个16进制位可以表示所以二位数由字母代替

他们各自写成2进制只需要4个二进制位就足够原理与二进制转8进制相似,不多赘述

原码,反码,补码

整数的二进制位有三种表示方法,分别是原码,反码,补码

有符号的整数的三中表示都有符号位和数值位,在二进制序列中,最高位被称为符号位,其余的为数值位

在符号位中用0表示正,用1表示负

正整数的原反补码都相同

负整数的原反补码各不相同

  • 原码:用二进制直接翻译过来就是原码
  • 反码原码的符号位不变,其他位按位取反就是反码0变成1,1变成0
  • 补码:反码加1就能得到补码

补码转原码也是按位取反加1

对于整型来说,数据存放内存中其实存放的是补码

因为在计算器中,使用补码可以将符号位和数值域、加法和减法统一处理,而且补码和原码的相互转换运算过程形同,不予要额外的硬件电路


今天的知识讲解完啦,如果觉得有用可以点一下赞和关注,也可以先收藏以防需要时找不到哦,当然如果作者写的哪里有问题欢迎指出,我们一起进步!!!

祝看到这里的人天天开心哦(笔芯)

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值