diff options
| author | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-06-08 17:10:31 +0800 |
|---|---|---|
| committer | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-06-08 17:10:31 +0800 |
| commit | 72af0dedf9e18911da65b9a5c4906689e868d9fc (patch) | |
| tree | 2ecbad93f96ab8ad7e26dc02cd02d802f853ab97 /rcc-legacy/tests/upload/decbinoct.sy | |
| parent | 8faf6d290d6703b1775e0ad7a8928a4ebea4b11b (diff) | |
| download | rcc-project-72af0dedf9e18911da65b9a5c4906689e868d9fc.tar.gz rcc-project-72af0dedf9e18911da65b9a5c4906689e868d9fc.tar.xz | |
[legacy] Add functional and performance test suites
Diffstat (limited to 'rcc-legacy/tests/upload/decbinoct.sy')
| -rw-r--r-- | rcc-legacy/tests/upload/decbinoct.sy | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/rcc-legacy/tests/upload/decbinoct.sy b/rcc-legacy/tests/upload/decbinoct.sy new file mode 100644 index 0000000..8f89adf --- /dev/null +++ b/rcc-legacy/tests/upload/decbinoct.sy @@ -0,0 +1,50 @@ +int main(){ + int n = getint(); + int nb = n; + int no = n; + int nh = n; + int binlen = 0; + int octlen = 0; + int hexlen = 0; + int bin[32]={}; + int oct[32]={}; + int hex[32]={}; + while(nb > 0){ + int bd = nb % 2; + bin[binlen] = bd; + binlen = binlen + 1; + nb = nb / 2; + } + while(binlen > 0){ + binlen = binlen - 1; + putint(bin[binlen]); + } + putch(32); + while(no > 0){ + int od = no % 8; + oct[octlen] = od; + octlen = octlen + 1; + no = no / 8; + } + while(octlen > 0){ + octlen = octlen - 1; + putint(oct[octlen]); + } + putch(32); + while(nh > 0){ + int hd = nh % 16; + hex[hexlen] = hd; + hexlen = hexlen + 1; + nh = nh / 16; + } + while(hexlen > 0){ + hexlen = hexlen - 1; + int hd = hex[hexlen]; + if(hd < 10){ + putch(hd+48); + }else{ + putch(hd-10+65); + } + } + return 0; +} |
