回答編集履歴
2
誤字の修正(制→正)、脱字の修正(バイトの先頭→バイト配列の先頭)
    
        answer	
    CHANGED
    
    | @@ -28,7 +28,7 @@ | |
| 28 28 | 
             
            `BitSet`を`BigInteger`に変換するには、例えばこのようにすると良いです。
         | 
| 29 29 | 
             
            ちゃんとテストしていないので、実際に使うときにはご注意ください。
         | 
| 30 30 |  | 
| 31 | 
            -
            バイトの先頭は、常に符号を | 
| 31 | 
            +
            バイト配列の先頭は、常に符号を正にするために余分に1バイト空けています。
         | 
| 32 32 |  | 
| 33 33 | 
             
            ```lang-java
         | 
| 34 34 | 
             
            static BigInteger toBigInteger(BitSet bits) {
         | 
1
BitSetをBigIntegerに変換する例を追記
    
        answer	
    CHANGED
    
    | @@ -18,3 +18,26 @@ | |
| 18 18 | 
             
            参考URL:
         | 
| 19 19 | 
             
            [java.util.BitSet - Java SE 8 APIドキュメント](https://docs.oracle.com/javase/jp/8/api/java/util/BitSet.html)
         | 
| 20 20 | 
             
            [Shifting a Java BitSet - Stack Overflow](http://stackoverflow.com/questions/9008150/shifting-a-java-bitset)
         | 
| 21 | 
            +
             | 
| 22 | 
            +
             | 
| 23 | 
            +
             | 
| 24 | 
            +
            ---
         | 
| 25 | 
            +
             | 
| 26 | 
            +
            (追記)
         | 
| 27 | 
            +
             | 
| 28 | 
            +
            `BitSet`を`BigInteger`に変換するには、例えばこのようにすると良いです。
         | 
| 29 | 
            +
            ちゃんとテストしていないので、実際に使うときにはご注意ください。
         | 
| 30 | 
            +
             | 
| 31 | 
            +
            バイトの先頭は、常に符号を制にするために余分に1バイト空けています。
         | 
| 32 | 
            +
             | 
| 33 | 
            +
            ```lang-java
         | 
| 34 | 
            +
            static BigInteger toBigInteger(BitSet bits) {
         | 
| 35 | 
            +
                byte[] bytes = new byte[bits.size() + 1];
         | 
| 36 | 
            +
                int i = bytes.length;
         | 
| 37 | 
            +
                for (byte b : bits.toByteArray()) {
         | 
| 38 | 
            +
                    --i;
         | 
| 39 | 
            +
                    bytes[i] = (byte)(b & 0xFF);
         | 
| 40 | 
            +
                }
         | 
| 41 | 
            +
                return new BigInteger(bytes);
         | 
| 42 | 
            +
            }
         | 
| 43 | 
            +
            ```
         | 
