question: public void testConstructorSignBytesNegative4 ( ) { byte aBytes [ ] = { 127 , 56 , 100 , - 2 } ; int aSign = - 1 ; byte rBytes [ ] = { - 128 , - 57 , - 101 , 2 } ; BigInteger aNumber = new BigInteger ( aSign , aBytes ) ; byte resBytes [ ] = new byte [ rBytes . length ] ; resBytes = aNumber . toByteArray ( ) ; for ( int i = 0 ; i < resBytes . length ; i ++ ) { assertTrue ( resBytes [ i ] == rBytes [ i ] ) ; } assertEquals ( "incorrect sign" , - 1 , aNumber . signum ( ) ) ; }
target:  Create a negative number from a sign and an array of bytes. The number of bytes is 4. The most significant byte is positive.