16進数のかけ算

30分プログラム、その516。16進数のかけ算の表を作ってみよう。
前にどっかで、プログラマだったらF×Fぐらい暗記してるよねー、という話題がでてた気がする。
いんちきプログラマのボクは暗記どころか紙を使って計算しても正解できるかどうか怪しいので、一覧表を作ってみた。
みなさまも目のつくとこに貼って、ご活用ください。

使い方

$ perl FxF.pl
     1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
   ---------------------------------------------
1 | 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
2 | 02 04 06 08 0A 0C 0E 10 12 14 16 18 1A 1C 1E
3 | 03 06 09 0C 0F 12 15 18 1B 1E 21 24 27 2A 2D
4 | 04 08 0C 10 14 18 1C 20 24 28 2C 30 34 38 3C
5 | 05 0A 0F 14 19 1E 23 28 2D 32 37 3C 41 46 4B
6 | 06 0C 12 18 1E 24 2A 30 36 3C 42 48 4E 54 5A
7 | 07 0E 15 1C 23 2A 31 38 3F 46 4D 54 5B 62 69
8 | 08 10 18 20 28 30 38 40 48 50 58 60 68 70 78
9 | 09 12 1B 24 2D 36 3F 48 51 5A 63 6C 75 7E 87
A | 0A 14 1E 28 32 3C 46 50 5A 64 6E 78 82 8C 96
B | 0B 16 21 2C 37 42 4D 58 63 6E 79 84 8F 9A A5
C | 0C 18 24 30 3C 48 54 60 6C 78 84 90 9C A8 B4
D | 0D 1A 27 34 41 4E 5B 68 75 82 8F 9C A9 B6 C3
E | 0E 1C 2A 38 46 54 62 70 7E 8C 9A A8 B6 C4 D2
F | 0F 1E 2D 3C 4B 5A 69 78 87 96 A5 B4 C3 D2 E1

ソースコード

#! /usr/bin/perl
# -*- mode:perl; coding:utf-8 -*-
#
# FxF.pl -
#
# Copyright(C) 2009 by mzp
# Author: MIZUNO Hiroki / mzpppp at gmail dot com
# http://howdyworld.org
#
# Timestamp: 2009/01/28 22:08:53
#
# This program is free software; you can redistribute it and/or
# modify it under MIT Lincence.
#

use strict;
use warnings;

print ' 'x4;
foreach my $x(0x01..0x0F){
    printf "% 2X ",$x;
}
print "\n";

print ' 'x3,'-'x45,"\n";
foreach my $x (0x01..0x0F){
    printf "%X | ",$x;
    foreach my $y (0x01..0x0F){
	printf "%02X ",$x*$y;
    }
    print "\n";
}