进制转换问题

2022-09-09 16:18:50 浏览数 (1)

以:整型数据类型的整数-为例

十进制-二进制

正数

十进制数除以2取余数; 余数倒叙排列; 得到得数字串即为十进制数对应得二进制数

示例:(30)

30(十进制) ===> 11110(二进制)

负数

将十进制转换为二进制数(不先管符号) 对该二进制数求反:0改成1、1改成0 再将该二进制数加1 总之就是将十进制数转换为二进制数求补码即为结果

示例:(-32)

32(十进制) = 00100000(二进制) 求反:11011111 加1: 11100000 结果:11100000(二进制)

二进制--十进制

首先将二进制数补齐位数(8位),首位如果是0就代表是正数,如果首位是1则代表是负数

正数

负数

首先对该二进制数求反:0改成1、1改成0 再将该二进制数减1 按正数的计算方法求和取相反数即为对应的负数(十进制)

示例:

10010110(二进制) = -104(十进制) 求反:01101001 减1:01101000 结果:-104(十进制)

0 人点赞