一、十进制转二进制
1、正数
十进制转二进制的方法是递归除2,直到商等于0停止,倒序取余数;二进制通常呈4位、8位、16位、32位出现,高位不足补0;
以十进制55为例:
最终得到的二进制数值为 11 0111 ,高位补0最终得到 0011 0111;
2、负数
负数转二进制需要先将负数取反得到正的十进制数值,之后根据正数的规则转换成二进制,再将二进制取反后加1;
以十进制-55为例:
① 取反得到数值55
② 55转换二进制为 0011 0111
③ 将 0011 0111 取反得到 1100 1000
④ 将 1100 1000 加1得到 1100 1001
则-55转换成的二进制数值为 1100 1001
二、二进制转十进制
在计算机语言中,0表示正,1表示负;
1、二进制首位为0
将二进制所从后往前,依次计算第n位上数字乘以2的n-1次幂,所得到的和即为十进制数字;
以 0011 0111 为例:
1*2^0 + 1*2^1 + 1*2^2 + 0*2^3 + 1*2^4 + 1*2^5 = 1 + 2 + 4 + 16 + 32 = 55
则最终的结果是55
2、二进制首位为1
二进制首位为1则表示次二进制数值为负数,根据十进制转二进制的规则逆推即可;先将该二进制数值减1后取反,转换成十进制以后取反即为得到的十进制数值。
以 1100 1001 为例:
① 1100 1001 减1 得到 1100 1000
② 1100 1000 取反得到 0011 0111
③ 0011 0111 转化成十进制为55
④ 55取反得到 -55
则最终得到结果为 -55
原文地址:https://www.cnblogs.com/ztnn/p/8870484.html