2009-11-22 47 views
0

我將數字1-100的列表分割爲2個字節的文件。然後,我注意到每個奇數btw 11-99需要2個文件,即4個字節,而每個偶數btw 11-99需要1個文件,2個字節。一個文件是足夠的數字btw 1-10。您可以在下面確認結果。使用奇數和偶數的US-ASCII編碼?

你如何解釋發現?

我做了什麼?

  1. 儲存號碼到一個文件中,就像在VIM:

    :%!蟒蛇-c 「爲我的range(1100):打印我」

    :W! list_0_100

  2. 劈Coreutils的文件2個字節與GNU拆分命令文件:

    $分裂-B2 -d list_0_100

發現:每個奇數順便說一句11 -99只需要兩個文件,即4個字節。與此相反,每個偶數順便說一句11-99需要一個文件中,即2字節:

$ head x*  

==> x07 <== 
8 

==> x08 <== 
9 

==> x09 <== 
10 

==> x10 <== 

1 
==> x11 <== 

1 

==> x12 <== 
12 

==> x13 <== 

1 
==> x14 <== 
3 

==> x15 <== 
14 
==> x16 <== 

1 
==> x17 <== 
5 

回答

3

每個數大於9需要三個字節(一個字節用於每個數字,併爲新的行一個更多字節)。寫作_代替(能見度)新行字符的你有這樣的:

10_11_12_13_14 

分割後:

10 _1 1_ 12 _1 3_ 14 

偶數正好都在一個文件中,但奇數得到分裂超過兩個文件。

+0

謝謝,我通過在一個列表之前有一個額外的空間來確認結果。然後,每個奇數btw 11-99只需要一個文件,而不是2個文件,不需要額外的奇偶校驗位。解決了。 – hhh 2009-11-22 19:20:41