主页 > imtoken手机下载 > 十进制负数转换为二进制、八进制、十六进制

十进制负数转换为二进制、八进制、十六进制

imtoken手机下载 2023-01-18 11:09:30

直接进入主题....

问题:如何将-3转换为二进制?

首先我们将+3转换为二进制,假设它是int类型(32位),那么二进制表示为:

0000 0000 0000 0000 0000 0000 0000 0011 --- 这称为原码:整数绝对值的二进制表示称为原码。

负数转二进制分3步:

1、先将负数转换成对应的原码

bcd码的真值是16进制_不是十进制的货币_c源程序不能表示的进制是

-3 原代码为(即+3转成二进制字符串):

0000 0000 0000 0000 0000 0000 0000 0011

2、 然后对原码的每一位做反码操作得到反码。取反操作:0变成1 1变成0;反演后的结果是:

1111 1111 1111 1111 1111 1111 1111 1100

bcd码的真值是16进制_不是十进制的货币_c源程序不能表示的进制是

3、代码+1得到补码

1111 1111 1111 1111 1111 1111 1111 1101

现在用Windows自带的计算器验证一下,Win+R,输入calc,把计算器改成For程序员,选择双字(4字节,32位)

bcd码的真值是16进制_不是十进制的货币_c源程序不能表示的进制是

-3 十进制和二进制表示:

将负数转换为八进制和十六进制,只需在补(二进制)计算的基础上将3位组合成一位即可,或4位综合和一位计算

不是十进制的货币_bcd码的真值是16进制_c源程序不能表示的进制是

-3 转换成二进制为:

1111 1111 1111 1111 1111 1111 1111 1101

八进制将 - 3 的二进制是从右到左每 3 位的一个单位。如果 3 位不够用,用 0 的补码:

011 111 111 111 111 111 111 111 111 111 101

c源程序不能表示的进制是_不是十进制的货币_bcd码的真值是16进制

计算每个Unit不是十进制的货币,结果为:37777777775

在十六进制中,-3的二进制从右到左每4位合并为一个单元不是十进制的货币,即:

1111 1111 1111 1111 1111 1111 1111 1101

计算后:FFFFFFFD