Package stdlib

Class BinaryStdOut

java.lang.Object
stdlib.BinaryStdOut

public final class BinaryStdOut extends Object
This class provides methods for converting primtive type variables (boolean, byte, char, int, long, float, and double) 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 to StdOut or System.out; otherwise unexpected behavior will result.

Author:
Robert Sedgewick, Kevin Wayne
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    Flushes and closes standard output.
    static void
    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
    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.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • 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 - the boolean to write.
    • write

      public static void write(byte x)
      Writes the 8-bit byte to standard output.
      Parameters:
      x - the byte to write.
    • write

      public static void write(int x)
      Writes the 32-bit int to standard output.
      Parameters:
      x - the int to write.
    • write

      public static void write(int x, int r)
      Writes the r-bit int to standard output.
      Parameters:
      x - the int to write.
      r - the number of relevant bits in the char.
      Throws:
      IllegalArgumentException - if r is not between 1 and 32.
      IllegalArgumentException - if x is not between 0 and 2r - 1.
    • write

      public static void write(double x)
      Writes the 64-bit double to standard output.
      Parameters:
      x - the double to write.
    • write

      public static void write(long x)
      Writes the 64-bit long to standard output.
      Parameters:
      x - the long to write.
    • write

      public static void write(float x)
      Writes the 32-bit float to standard output.
      Parameters:
      x - the float to write.
    • write

      public static void write(short x)
      Writes the 16-bit int to standard output.
      Parameters:
      x - the short to write.
    • write

      public static void write(char x)
      Writes the 8-bit char to standard output.
      Parameters:
      x - the char to write.
      Throws:
      IllegalArgumentException - if x is not betwen 0 and 255.
    • write

      public static void write(char x, int r)
      Writes the r-bit char to standard output.
      Parameters:
      x - the char to write.
      r - the number of relevant bits in the char.
      Throws:
      IllegalArgumentException - if r is not between 1 and 16.
      IllegalArgumentException - if x 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 - the String 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 - the String to write.
      r - the number of relevants 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