首页 > 解决方案 > 如何将十进制转换为 8 位有符号二进制?

问题描述

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

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

谢谢

标签: binarydecimal

解决方案


有符号的 8 位整数保留其最高位作为符号。1表示数为负数,0表示数为正数。让我们从那里开始。

您要转换的数字是-125,所以第一位应该是1

1XXX XXXX

对于接下来的 7 位,我们将查看它们所代表的数字有多少次进入我们尝试转换的数字。

我们数字的第二位代表2^664。我们问多少次64可以进去125,发现答案是1.953125

我们不能将这个数字表示为 a1或 a 0,但我们可以这样考虑:

64 进入 125 一次,余数为 0.953125 次(或 61)

让我们在第二位中计算一次,并将余数61用作我们的新数字。

11XX XXXX

接下来是代表2^5或的第三位3232可以进去多少次61?答案不是一个整数,1.90625所以我们再次遵循上一步的逻辑:1用作我们的第三个数字和29我们的新数字。

111X XXXX

第 4 位表示2^4or16进入29一次,余数为13

1111 XXXX

第 5 位表示2^3or8进入13一次,余数为5

1111 1XXX

第 6 位代表2^2or4进入5一次,余数为1

1111 11XX

第 7 位代表2^120 次变为 1。

1111 110X

第八位和最后一位代表2^01进入1一次。

1111 1101

因此,我们的 8 位有符号表示-12511111101


推荐阅读