aboutsummaryrefslogtreecommitdiff
path: root/test/cases/print_u32s.zig
blob: 0c73361278c884932a54522c234f29ca741a63e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const std = @import("std");

pub fn main() void {
    printNumberHex(0x00000000);
    printNumberHex(0xaaaaaaaa);
    printNumberHex(0xdeadbeef);
    printNumberHex(0x31415926);
}

fn printNumberHex(x: u32) void {
    const digit_chars = "0123456789abcdef";
    var i: u5 = 28;
    while (true) : (i -= 4) {
        const digit = (x >> i) & 0xf;
        _ = std.posix.write(1, &.{digit_chars[digit]}) catch {};
        if (i == 0) break;
    }
    _ = std.posix.write(1, "\n") catch {};
}

// run
// target=x86_64-macos
//
// 00000000
// aaaaaaaa
// deadbeef
// 31415926
//