Send Close Add comments: (status displays here)
Got it!  This site uses cookies. You consent to this by clicking on "Got it!" or by continuing to use this website.nbsp; Note: This appears on each machine/browser from which this site is accessed.
Counting: Algorithms


1. Counting: Algorithms

2. Algorithms
An algorithm is a precise step by step method to solve a problem.

A pseudo-code algorithm is a way to describe an algorithm that is not in a form that can be directly executed by a computer.

3. Pseudo-code algorithm
Here is a simple pseudo-code algorithm.
   get a blank piece of paper    FOR EACH decimal number x from 0 to 255 DO       start a new line       write the number in decimal       write the number in hexadecimal:          divide x by 16          write the quotient in hex          write the remainder in hex       write the number in binary:          convert the first hex digit to binary          convert the second hex digit to binary       END


4. Goal
Besides being fundamental to computers, another goal of learning base conversion is to learn to appreciate the concept of an algorithm and the use of programming to automate tasks.

5. Programs
Programs = Data structures + Algorithms

Programs = Data + Code

6. Pascal program (data)

program numbers; const    digits: array[0..15] of char =       '0123456789ABCDEF';    binary: array[0..15] of string[4] = (       '0000','0001','0010','0011',       '0100','0101','0110','0111',       '1000','1001','1010','1011',       '1100','1101','1110','1111'); var i,h0,h1: word;


7. Pascal program (code)

begin    writeln;    write(' Dec Hex Bin');    for i:= 0 to 255 do begin       writeln;       write(' ',i:4,'d');       h1:= i div 16;       h0:= i mod 16;       write(' ',digits[h1],digits[h0],'h');       write(' ',binary[h1],binary[h0],'b');       end;    end.


8. Pascal program output
The first 17 lines of output:
      Dec Hex Bin       0d 00h 00000000b       1d 01h 00000001b       2d 02h 00000010b       3d 03h 00000011b       4d 04h 00000100b       5d 05h 00000101b       6d 06h 00000110b       7d 07h 00000111b       8d 08h 00001000b       9d 09h 00001001b       10d 0Ah 00001010b       11d 0Bh 00001011b       12d 0Ch 00001100b       13d 0Dh 00001101b       14d 0Eh 00001110b       15d 0Fh 00001111b       16d 10h 00010000b


9. More Pascal program output
The last 8 lines of output:
   248d F8h 11111000b    249d F9h 11111001b    250d FAh 11111010b    251d FBh 11111011b    252d FCh 11111100b    253d FDh 11111101b    254d FEh 11111110b    255d FFh 11111111b


10. The entire output
For those interested, here is the entire list.
   Dec Hex Bin    0d 00h 00000000b    1d 01h 00000001b    2d 02h 00000010b    3d 03h 00000011b    4d 04h 00000100b    5d 05h 00000101b    6d 06h 00000110b    7d 07h 00000111b    8d 08h 00001000b    9d 09h 00001001b    10d 0Ah 00001010b    11d 0Bh 00001011b    12d 0Ch 00001100b    13d 0Dh 00001101b    14d 0Eh 00001110b    15d 0Fh 00001111b    16d 10h 00010000b    17d 11h 00010001b    18d 12h 00010010b    19d 13h 00010011b    20d 14h 00010100b    21d 15h 00010101b    22d 16h 00010110b    23d 17h 00010111b    24d 18h 00011000b    25d 19h 00011001b    26d 1Ah 00011010b    27d 1Bh 00011011b    28d 1Ch 00011100b    29d 1Dh 00011101b    30d 1Eh 00011110b    31d 1Fh 00011111b    32d 20h 00100000b    33d 21h 00100001b    34d 22h 00100010b    35d 23h 00100011b    36d 24h 00100100b    37d 25h 00100101b    38d 26h 00100110b    39d 27h 00100111b    40d 28h 00101000b    41d 29h 00101001b    42d 2Ah 00101010b    43d 2Bh 00101011b    44d 2Ch 00101100b    45d 2Dh 00101101b    46d 2Eh 00101110b    47d 2Fh 00101111b    48d 30h 00110000b    49d 31h 00110001b    50d 32h 00110010b    51d 33h 00110011b    52d 34h 00110100b    53d 35h 00110101b    54d 36h 00110110b    55d 37h 00110111b    56d 38h 00111000b    57d 39h 00111001b    58d 3Ah 00111010b    59d 3Bh 00111011b    60d 3Ch 00111100b    61d 3Dh 00111101b    62d 3Eh 00111110b    63d 3Fh 00111111b    64d 40h 01000000b    65d 41h 01000001b    66d 42h 01000010b    67d 43h 01000011b    68d 44h 01000100b    69d 45h 01000101b    70d 46h 01000110b    71d 47h 01000111b    72d 48h 01001000b    73d 49h 01001001b    74d 4Ah 01001010b    75d 4Bh 01001011b    76d 4Ch 01001100b    77d 4Dh 01001101b    78d 4Eh 01001110b    79d 4Fh 01001111b    80d 50h 01010000b    81d 51h 01010001b    82d 52h 01010010b    83d 53h 01010011b    84d 54h 01010100b    85d 55h 01010101b    86d 56h 01010110b    87d 57h 01010111b    88d 58h 01011000b    89d 59h 01011001b    90d 5Ah 01011010b    91d 5Bh 01011011b    92d 5Ch 01011100b    93d 5Dh 01011101b    94d 5Eh 01011110b    95d 5Fh 01011111b    96d 60h 01100000b    97d 61h 01100001b    98d 62h 01100010b    99d 63h 01100011b    100d 64h 01100100b    101d 65h 01100101b    102d 66h 01100110b    103d 67h 01100111b    104d 68h 01101000b    105d 69h 01101001b    106d 6Ah 01101010b    107d 6Bh 01101011b    108d 6Ch 01101100b    109d 6Dh 01101101b    110d 6Eh 01101110b    111d 6Fh 01101111b    112d 70h 01110000b    113d 71h 01110001b    114d 72h 01110010b    115d 73h 01110011b    116d 74h 01110100b    117d 75h 01110101b    118d 76h 01110110b    119d 77h 01110111b    120d 78h 01111000b    121d 79h 01111001b    122d 7Ah 01111010b    123d 7Bh 01111011b    124d 7Ch 01111100b    125d 7Dh 01111101b    126d 7Eh 01111110b    127d 7Fh 01111111b    128d 80h 10000000b    129d 81h 10000001b    130d 82h 10000010b    131d 83h 10000011b    132d 84h 10000100b    133d 85h 10000101b    134d 86h 10000110b    135d 87h 10000111b    136d 88h 10001000b    137d 89h 10001001b    138d 8Ah 10001010b    139d 8Bh 10001011b    140d 8Ch 10001100b    141d 8Dh 10001101b    142d 8Eh 10001110b    143d 8Fh 10001111b    144d 90h 10010000b    145d 91h 10010001b    146d 92h 10010010b    147d 93h 10010011b    148d 94h 10010100b    149d 95h 10010101b    150d 96h 10010110b    151d 97h 10010111b    152d 98h 10011000b    153d 99h 10011001b    154d 9Ah 10011010b    155d 9Bh 10011011b    156d 9Ch 10011100b    157d 9Dh 10011101b    158d 9Eh 10011110b    159d 9Fh 10011111b    160d A0h 10100000b    161d A1h 10100001b    162d A2h 10100010b    163d A3h 10100011b    164d A4h 10100100b    165d A5h 10100101b    166d A6h 10100110b    167d A7h 10100111b    168d A8h 10101000b    169d A9h 10101001b    170d AAh 10101010b    171d ABh 10101011b    172d ACh 10101100b    173d ADh 10101101b    174d AEh 10101110b    175d AFh 10101111b    176d B0h 10110000b    177d B1h 10110001b    178d B2h 10110010b    179d B3h 10110011b    180d B4h 10110100b    181d B5h 10110101b    182d B6h 10110110b    183d B7h 10110111b    184d B8h 10111000b    185d B9h 10111001b    186d BAh 10111010b    187d BBh 10111011b    188d BCh 10111100b    189d BDh 10111101b    190d BEh 10111110b    191d BFh 10111111b    192d C0h 11000000b    193d C1h 11000001b    194d C2h 11000010b    195d C3h 11000011b    196d C4h 11000100b    197d C5h 11000101b    198d C6h 11000110b    199d C7h 11000111b    200d C8h 11001000b    201d C9h 11001001b    202d CAh 11001010b    203d CBh 11001011b    204d CCh 11001100b    205d CDh 11001101b    206d CEh 11001110b    207d CFh 11001111b    208d D0h 11010000b    209d D1h 11010001b    210d D2h 11010010b    211d D3h 11010011b    212d D4h 11010100b    213d D5h 11010101b    214d D6h 11010110b    215d D7h 11010111b    216d D8h 11011000b    217d D9h 11011001b    218d DAh 11011010b    219d DBh 11011011b    220d DCh 11011100b    221d DDh 11011101b    222d DEh 11011110b    223d DFh 11011111b    224d E0h 11100000b    225d E1h 11100001b    226d E2h 11100010b    227d E3h 11100011b    228d E4h 11100100b    229d E5h 11100101b    230d E6h 11100110b    231d E7h 11100111b    232d E8h 11101000b    233d E9h 11101001b    234d EAh 11101010b    235d EBh 11101011b    236d ECh 11101100b    237d EDh 11101101b    238d EEh 11101110b    239d EFh 11101111b    240d F0h 11110000b    241d F1h 11110001b    242d F2h 11110010b    243d F3h 11110011b    244d F4h 11110100b    245d F5h 11110101b    246d F6h 11110110b    247d F7h 11110111b    248d F8h 11111000b    249d F9h 11111001b    250d FAh 11111010b    251d FBh 11111011b    252d FCh 11111100b    253d FDh 11111101b    254d FEh 11111110b    255d FFh 11111111b


11. End of page