在文件中更改1位。我做错了什么?

时间:2014-04-14 18:25:37

标签: language-agnostic byte bit

我收到了这样的内容:

00 00 00 00 00

我改变了一点。更改文件:

00 60 00 00 00

我的老师说,我不知道是什么意思。我做错了什么?请为我澄清一下:文件有5个块(10位)。位是00?或者位是0 - 对的1位数。谢谢。

3 个答案:

答案 0 :(得分:2)

如果这是十六进制表示法,那么你会有一些术语混淆。

 00  00  00  00  00
|__|          ^
  \           |
   byte     nibble

一个字节是两个半字节,半字节是4位。

Decimal   Hex     Binary
   0       0       0000    <- You went from here...
   1       1       0001
   2       2       0010
   3       3       0011
   4       4       0100
   5       5       0101
   6       6       0110    <- ...to here, a change in two bits of one nibble.
   7       7       0111
   8       8       1000
   9       9       1001
  10       a       1010
  11       b       1011
  12       c       1100
  13       d       1101
  14       e       1110
  15       f       1111

答案 1 :(得分:1)

这取决于符号的含义,但我假设它以十六进制表示法显示5个字节

这些是 bytes ,8 bit ,采用二进制表示法:

00000000
00000001
00000010
...

这些是十六进制表示法中的相同字节:

00
01
02
...

十六进制表示法从00变为FF,二进制表示法为0000000011111111的相同值。如果您将00更改为60,则会将00000000更改为01100000。所以你改变了 2 位。

答案 2 :(得分:1)

您正在以十六进制编辑器/查看器查看文件。每个数字都是一个十六进制数字,由二进制的四位组成。您从00转到60这一事实意味着您在其中一个十六进制数字中更改了两位。如果您在二进制模式下查看,则除了0和1之外,您将看不到任何其他内容。

hex 0  == binary 0000
hex 6  == binary 0110

我建议查看二进制和十六进制表示法。