examples/bounds.c
Rama main · réplica de lectura del repositorio original.
// 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();
}