1

我可能会提出这个问题有点错误。我需要用纸和笔以十六进制计算 IPv4 标头校验和。在这个链接http://en.wikipedia.org/wiki/IPv4_header_checksum 在最后一个例子中他们做到了。

我在理解它们如何直接以十六进制计数时有点问题。在纸上做时,如果我得到一个超过 15 的数字,例如 48,我会使用什么提醒,我会写下什么?

任何人都可以解释如何处理这个问题?

谢谢你,很抱歉提出错误的问题,但我现在已经改变了:)

4

3 回答 3

1

请参阅http://www.youtube.com/watch?v=UGK8VyV1gLE,它很好地描述了该过程。

以十六进制(以 16 为底)计数就像以十进制(以 10 为底)计数一样,只是当您计数超过 F 时才开始携带余数。

因此,在您的评论示例中,这就像以十进制计数而没有余数:

 15
 24
---
 39

一个简单的真正 HEX 加法是:

 11
  F
---
 20

1 + F = 10 = 1 余数 + 1 = 20

15 over 48 也很简单:

 15
 48
---
 5D

8 + 5 = D 无余数,1 + 4 = 5 无余数

于 2012-10-22T15:19:55.763 回答
0

十六进制只是数字的表示。为了让计算机帮助您进行加法,您必须将十六进制表示的数字转换为数字本身,然后进行加法,然后将其转换回来。这不是到二进制的转换,因为二进制也只是一种不同的表示形式。

如果您不希望从十六进制转换,则必须解释为什么不希望进行此转换。

于 2012-10-20T21:14:14.607 回答
0

我想这听起来像是一个愚蠢的答案,但这是我能以你写问题的方式给出的最好的答案。

十六进制的加法与十进制的加法完全相同,除了用 16 位而不是 10 位数字。所以实际上,您要问的是如何进行一般加法(包括十进制)。在 dec 中,9 + 1 = 10。在十六进制中,F + 1 = 10。显然,相同的加法规则适用于两者.

于 2012-10-20T21:20:54.087 回答