十进制与二进制互转教程二
十进制与二进制互转教程二
在《十进制与二进制互转教程》中,我们主要讨论的是正数的转换,但对于负数并不适用,那么本篇文章我们就来学习负数的转换。
首先,我们要知道,对于《十进制与二进制互转教程》中,我们学习的是无符号二进制,但在负数中我们学习的是有符号二进制,因为要区分正数与负数。一般,我们使用的是八位或十六位有符号二进制。
二进制转十进制
依旧举个例子,这是一个十六位负数二进制:1000000011010010。
首先,区分符号位(符号位是指负数二进制的首位)与数值位,分割出:1 11010010(抛弃前0);
然后,将数值位按照《十进制与二进制互转教程》中二进制转十进制的方法转为十进制:210;
接着,根据符号位判断正负,0为正,1为负(一般有符号的二进制都为负数),如果为负则在数上加一个负号:-210;
因此,-210就是十六位负数二进制1000000011010010的十进制结果。
十进制转二进制
举个例子:-210。
首先,将负数十进制的绝对值按照《十进制与二进制互转教程》中十进制转二进制的方法转为二进制:11010010;
然后,确定二进制位数,一般为八位或十六位(理论上可以是任意正整数,但在实际应用中通常使用2的幂次,例如8位、16位、32位或64位,但一定要大于上一步中转换后的位数),这里我们使用十六位;
接着,根据位数补0:0000000011010010;
最后,如果为负数,则将补0后的二进制首位(注意是首位不是新加一位)改为1:1000000011010010;
因此,1000000011010010就是-210的二进制结果。
但是,本篇文章转换的是二进制的原码形式,这种形式虽然对人类友好,但并不利于计算机使用,因为计算机通常使用补码计算,有关补码的详细内容,请参阅《二进制的原反补码》。
© 2026 小满工作室. All rights reserved.
本文系作者 @小满 原创发布在孙哥博客站点。未经许可,禁止转载。
暂无评论数据