Count in octal: Difference between revisions
(+Java) |
No edit summary |
||
Line 2: | Line 2: | ||
The task is to produce a sequential count in octal, starting at zero, and using an increment of a one for each consecutive number. Each number should appear on a single line, and the program should count until terminated, or until the maximum value that can be held within the system registers is reached (for a 32 bit system using unsigned registers, this value is 37777777777 octal). |
The task is to produce a sequential count in octal, starting at zero, and using an increment of a one for each consecutive number. Each number should appear on a single line, and the program should count until terminated, or until the maximum value that can be held within the system registers is reached (for a 32 bit system using unsigned registers, this value is 37777777777 octal). |
||
=={{header|C++}}== |
|||
This prevents an infinite loop by counting until the counter overflows and produces a 0 again. This could also be done with a for or while loop, but you'd have to print 0 (or the last number) outside the loop. |
|||
<lang cpp>#include <iostream> |
|||
#include <iomanip> |
|||
using namespace std; |
|||
int main() |
|||
{ |
|||
unsigned i = 0; |
|||
do |
|||
{ |
|||
cout << setbase(8) << (int)i << endl; |
|||
++i; |
|||
} while(i != 0); |
|||
}</lang> |
|||
=={{header|Java}}== |
=={{header|Java}}== |
||
<lang java>public class Count{ |
<lang java>public class Count{ |
Revision as of 01:37, 6 June 2011
The task is to produce a sequential count in octal, starting at zero, and using an increment of a one for each consecutive number. Each number should appear on a single line, and the program should count until terminated, or until the maximum value that can be held within the system registers is reached (for a 32 bit system using unsigned registers, this value is 37777777777 octal).
C++
This prevents an infinite loop by counting until the counter overflows and produces a 0 again. This could also be done with a for or while loop, but you'd have to print 0 (or the last number) outside the loop.
<lang cpp>#include <iostream>
- include <iomanip>
using namespace std;
int main() {
unsigned i = 0; do { cout << setbase(8) << (int)i << endl; ++i; } while(i != 0);
}</lang>
Java
<lang java>public class Count{
public static void main(String[] args){ for(int i = 0;i <= Integer.MAX_VALUE;i++){ System.out.println(Integer.toOctalString(i)); //optionally use "Integer.toString(i, 8)" } }
}</lang>
UNIX Shell
We use the bc calculator to increment our octal counter:
<lang sh>#!/bin/sh num=0 while true; do
echo $num num=`echo "obase=8;ibase=8;$num+1"|bc`
done</lang>