Ctrl K
ComunidadGuías…

examples/bounds.c

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
// printing bounds on 64-bit integers in C*

// libcstar procedures for printing
void init_library();
void print(uint64_t* s);
void print_unsigned_integer(uint64_t n);
void print_integer(uint64_t n);
void print_hexadecimal(uint64_t n, uint64_t a);
void print_octal(uint64_t n, uint64_t a);
void print_binary(uint64_t n, uint64_t a);
void println();

uint64_t main() {
  // initialize selfie's libcstar library
  init_library();

  // print UINT64_MAX in decimal
  print("UINT64_MAX in decimal:     ");
  print_unsigned_integer(UINT64_MAX);
  println();

  // print UINT64_MAX in decimal
  print("UINT64_MAX in decimal:     ");
  print_integer(UINT64_MAX);
  print(" (as signed 64-bit integer)\n");

  // print UINT64_MAX in hexadecimal
  print("UINT64_MAX in hexadecimal: ");
  print_hexadecimal(UINT64_MAX, 0);
  println();

  // print UINT64_MAX in octal
  print("UINT64_MAX in octal:       ");
  print_octal(UINT64_MAX, 0);
  println();

  // print UINT64_MAX in binary
  print("UINT64_MAX in binary:      ");
  print_binary(UINT64_MAX, 64);
  println();

  // print 0 in decimal
  print("0 in decimal:              ");
  print_unsigned_integer(0);
  println();

  // print 0 in hexadecimal
  print("0 in hexadecimal:          ");
  print_hexadecimal(0, 0);
  println();

  // print 0 in octal
  print("0 in octal:                ");
  print_octal(0, 0);
  println();

  // print 0 in binary
  print("0 in binary:               ");
  print_binary(0, 64);
  println();

  // print INT64_MAX in decimal
  print("INT64_MAX in decimal:      ");
  print_integer(INT64_MAX);
  println();

  // print INT64_MAX in hexadecimal
  print("INT64_MAX in hexadecimal:  ");
  print_hexadecimal(INT64_MAX, 0);
  println();

  // print INT64_MAX in octal
  print("INT64_MAX in octal:        ");
  print_octal(INT64_MAX, 0);
  println();

  // print INT64_MAX in binary
  print("INT64_MAX in binary:       ");
  print_binary(INT64_MAX, 64);
  println();

  // print INT64_MIN in decimal
  print("INT64_MIN in decimal:      ");
  print_integer(INT64_MIN);
  println();

  // print INT64_MIN in decimal
  print("INT64_MIN in decimal:      ");
  print_unsigned_integer(INT64_MIN);
  print(" (as unsigned integer)\n");

  // print INT64_MIN in hexadecimal
  print("INT64_MIN in hexadecimal:  ");
  print_hexadecimal(INT64_MIN, 0);
  println();

  // print INT64_MIN in octal
  print("INT64_MIN in octal:        ");
  print_octal(INT64_MIN, 0);
  println();

  // print INT64_MIN in binary
  print("INT64_MIN in binary:       ");
  print_binary(INT64_MIN, 64);
  println();
}