Class BinaryStdOut
- Object
-
- BinaryStdOut
-
public final class BinaryStdOut extends Object
TheBinaryStdOut
class provides static methods for converting primitive type variables (boolean
,byte
,char
,int
,long
,float
, anddouble
) to sequences of bits and writing them to standard output. Uses big-endian (most-significant byte first).The client must
flush()
the output stream when finished writing bits.The client should not intermix calls to
BinaryStdOut
with calls toStdOut
orSystem.out
; otherwise unexpected behavior will result.- Author:
- Robert Sedgewick, Kevin Wayne
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
close()
Flushes and closes standard output.static void
flush()
Flushes standard output, padding 0s if number of bits written so far is not a multiple of 8.static void
main(String[] args)
Tests the methods in this class.static void
write(boolean x)
Writes the specified bit to standard output.static void
write(byte x)
Writes the 8-bit byte to standard output.static void
write(char x)
Writes the 8-bit char to standard output.static void
write(char x, int r)
Writes the r-bit char to standard output.static void
write(double x)
Writes the 64-bit double to standard output.static void
write(float x)
Writes the 32-bit float to standard output.static void
write(int x)
Writes the 32-bit int to standard output.static void
write(int x, int r)
Writes the r-bit int to standard output.static void
write(long x)
Writes the 64-bit long to standard output.static void
write(short x)
Writes the 16-bit int to standard output.static void
write(String s)
Writes the string of 8-bit characters to standard output.static void
write(String s, int r)
Writes the string of r-bit characters to standard output.
-
-
-
Method Detail
-
flush
public static void flush()
Flushes standard output, padding 0s if number of bits written so far is not a multiple of 8.
-
close
public static void close()
Flushes and closes standard output. Once standard output is closed, you can no longer write bits to it.
-
write
public static void write(boolean x)
Writes the specified bit to standard output.- Parameters:
x
- theboolean
to write.
-
write
public static void write(byte x)
Writes the 8-bit byte to standard output.- Parameters:
x
- thebyte
to write.
-
write
public static void write(int x)
Writes the 32-bit int to standard output.- Parameters:
x
- theint
to write.
-
write
public static void write(int x, int r)
Writes the r-bit int to standard output.- Parameters:
x
- theint
to write.r
- the number of relevant bits in the char.- Throws:
IllegalArgumentException
- ifr
is not between 1 and 32.IllegalArgumentException
- ifx
is not between 0 and 2r - 1.
-
write
public static void write(double x)
Writes the 64-bit double to standard output.- Parameters:
x
- thedouble
to write.
-
write
public static void write(long x)
Writes the 64-bit long to standard output.- Parameters:
x
- thelong
to write.
-
write
public static void write(float x)
Writes the 32-bit float to standard output.- Parameters:
x
- thefloat
to write.
-
write
public static void write(short x)
Writes the 16-bit int to standard output.- Parameters:
x
- theshort
to write.
-
write
public static void write(char x)
Writes the 8-bit char to standard output.- Parameters:
x
- thechar
to write.- Throws:
IllegalArgumentException
- ifx
is not between 0 and 255.
-
write
public static void write(char x, int r)
Writes the r-bit char to standard output.- Parameters:
x
- thechar
to write.r
- the number of relevant bits in the char.- Throws:
IllegalArgumentException
- ifr
is not between 1 and 16.IllegalArgumentException
- ifx
is not between 0 and 2r - 1.
-
write
public static void write(String s)
Writes the string of 8-bit characters to standard output.- Parameters:
s
- theString
to write.- Throws:
IllegalArgumentException
- if any character in the string is not between 0 and 255.
-
write
public static void write(String s, int r)
Writes the string of r-bit characters to standard output.- Parameters:
s
- theString
to write.r
- the number of relevant bits in each character.- Throws:
IllegalArgumentException
- if r is not between 1 and 16.IllegalArgumentException
- if any character in the string is not between 0 and 2r - 1.
-
main
public static void main(String[] args)
Tests the methods in this class.- Parameters:
args
- the command-line arguments
-
-