如何正确填充二进制数(带基数和不带基数)

发布于 2024-10-31 06:31:47 字数 396 浏览 1 评论 0原文

所以我有一个关于用 0 填充的快速问题。我制作的示例如下,只是假设长度无关紧要并且没有符号位。

a) 1000 = 00000001000
b) 110.101 = 110.00000101
c) 110.101 = 110.10100000

我知道在前面填充二进制数的整数部分是可以的(尽管有缓冲区和类似的东西)。更重要的是,当我处理小数点时,我永远记不起它是如何工作的。您是在基数旁边(b)还是在数字末尾(c)进行填充。另外,像这样的填充会影响这些数字的补码吗?

谢谢

编辑: 我问这个的原因是因为我正在从二进制转换为十六进制,并将二进制转换为八进制。为此,我必须将位按 4 或 3 个一组进行分组。我没有足够的位,所以我需要在某处添加零。

So I've just got a quick question on padding with 0's. The examples I made are below, just assumed that length doesn't matter and there is no sign bit.

a) 1000 = 00000001000
b) 110.101 = 110.00000101
c) 110.101 = 110.10100000

I know that padding the integer part of a binary number in front is fine (notwithstanding buffers and stuff like that). Its more when I deal with radix points that I can never remember how it works. Do you pad beside the radix (b) or at the end of the digit (c). Also, does padding like this effect the complements of these numbers?

Thanks

EDIT:
The reason I'm asking this is because I'm converting from binary to hex and binary to octal. To do this I have to group bits in groups of 4 or 3. I don't have enough bits so I need to add zeros somewhere.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

萌能量女王 2024-11-07 06:31:47

2 的基数的工作方式与以 10 为基数的数字相同(根据 Wikipedia

因此,部分 ( a) 和 (c) 正确,但 (b) 部分不正确

二进制小数点左边的位应遵循相同的算法来查找其补码,其中小数位的 MSB 为正。

Two's radix works the same way as the base-10 numbers (according to Wikipedia)

Thus, parts (a) and (c) are correct, but part (b) is not.

The bits to the left of the binary point should follow the same algorithm to find their complement, with the MSB of fractional bit being positive.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文