如何将十进制转换为 8 位有符号二进制?

问题描述 投票:0回答:1

假设我需要将十进制 -125 转换为带符号的 8 位整数,我该怎么做?

我是一名计算机专业的学生,我正在努力弄清楚如何解决这个问题。我了解将其转换为基数 2 的基础知识,但我无法得到答案。

谢谢

binary decimal
1个回答
0
投票

有符号的 8 位整数保留其最高位作为符号。

1
表示负数,
0
表示正数。让我们从这里开始吧。

您要转换的数字是

-125
,因此第一位应该是
1

1XXX XXXX

对于接下来的七位,我们将看看它们代表的数字与我们尝试转换的数字有多少次。

我们数字的第二位代表

2^6
64
。我们问
64
可以进入
125
多少次,发现答案是
1.953125

我们不能将这个数字表示为

1
0
,但我们可以这样思考:

64 除以 125 一次,余数为 0.953125 次(或 61)

让我们在第二位中计算一次,然后使用余数

61
作为我们的新数字。

11XX XXXX

接下来是第三位,代表

2^5
32
32
可以进入
61
多少次?答案不是整数,而是
1.90625
,因此我们再次遵循上一步的逻辑:使用
1
作为我们的第三位数字,使用
29
作为我们的新数字。

111X XXXX

第四位代表

2^4
16
,进入
29
一次,余数为
13

1111 XXXX

第五位代表

2^3
8
,进入
13
一次,余数为
5

1111 1XXX

第六位代表

2^2
4
,进入
5
一次,余数为
1

1111 11XX

第七位代表

2^1
2
进入 1 零次。

1111 110X

第八位也是最后一位代表

2^0
1
,进入
1
一次。

1111 1101

因此我们

-125
的 8 位有符号表示是
11111101

© www.soinside.com 2019 - 2024. All rights reserved.