Skip to content

Instantly share code, notes, and snippets.

@alexhsamuel
Created January 14, 2017 19:56
Show Gist options
  • Save alexhsamuel/8f70851f4e66a4c4c8f973482e7c51c3 to your computer and use it in GitHub Desktop.
Save alexhsamuel/8f70851f4e66a4c4c8f973482e7c51c3 to your computer and use it in GitHub Desktop.
practice emulating a coding style
public class Style {
/*
* Assume this method is correctly formatted.
*/
public static char convertBinaryToHexDigit( final boolean[] src,
final int srcPos )
{
if( src.length==0 ){
throw new IllegalArgumentException( "Cannot convert an empty array." );
}
if( src.length>srcPos+3 && src[srcPos+3] ){
if( src.length>srcPos+2 && src[srcPos+2] ){
if( src.length>srcPos+1 && src[srcPos+1] ){
return src[srcPos]? 'f': 'e';
}
return src[srcPos]? 'd': 'c';
}
if( src.length>srcPos+1 && src[srcPos+1] ){
return src[srcPos]? 'b': 'a';
}
return src[srcPos]? '9': '8';
}
if( src.length>srcPos+2 && src[srcPos+2] ){
if( src.length>srcPos+1 && src[srcPos+1] ){
return src[srcPos]? '7': '6';
}
return src[srcPos]? '5': '4';
}
if( src.length>srcPos+1 && src[srcPos+1] ){
return src[srcPos]? '3': '2';
}
return src[srcPos]? '1': '0';
}
/*
* Reformat this method to match the coding style above.
*/
public static char binaryToHexDigitMsb0_4bits(final boolean[] src, final int srcPos) {
if (src.length > 8) {
throw new IllegalArgumentException("src.length>8: src.length=" + src.length);
}
if (src.length - srcPos < 4) {
throw new IllegalArgumentException("src.length-srcPos<4: src.length=" + src.length + ", srcPos=" + srcPos);
}
if (src[srcPos + 3]) {
if (src[srcPos + 2]) {
if (src[srcPos + 1]) {
return src[srcPos] ? 'f' : '7';
}
return src[srcPos] ? 'b' : '3';
}
if (src[srcPos + 1]) {
return src[srcPos] ? 'd' : '5';
}
return src[srcPos] ? '9' : '1';
}
if (src[srcPos + 2]) {
if (src[srcPos + 1]) {
return src[srcPos] ? 'e' : '6';
}
return src[srcPos] ? 'a' : '2';
}
if (src[srcPos + 1]) {
return src[srcPos] ? 'c' : '4';
}
return src[srcPos] ? '8' : '0';
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment