//
/* ----------------------------------------------------------------------------------------------
complement.java 補数 ver. 2.00 (JDK 1.02)
ueyama@infonet.co.jp 2007.07.20
---------------------------------------------------------------------------------------------- */
import java.applet.Applet;
import java.awt.*;
import java.util.*;
public class complement extends Applet
{
int Bin; // 数値
int Cbin, Cdec; // 補数の値
int Cb=2, Cd=10; // 補数モード
int M; // 表示モード (0: 加算 1: 減算)
int Bx=140, Dx=540, By=10; // 数値表示座標
int Y[][]={{4, 10, 46, 90}, {40, 46, 90, 10}}; // 数値表示 Y座標
Graphics gx,gr;
Image Img;
public void update(Graphics g)
{
paint(g);
}
public void init()
{
String s=getParameter("bgcolor");
int c=Integer.valueOf(s,16).intValue();
setBackground(new Color(c));
M=Integer.parseInt(getParameter("mode")); // 表示モードの読み込み
MediaTracker mt=new MediaTracker(this);
Img=getImage(getCodeBase(), getParameter("figure")); // Applet用 GIF画像ファイル
mt.addImage(Img, 0);
try
{
mt.waitForID(0);
}
catch(InterruptedException e){};
gr=getGraphics();
Random r=new Random();
Bin=Math.abs(r.nextInt())%128+128; // 数値初期値を 128〜255 の範囲で乱数で発生
}
public boolean inside(int n, int a, int b)
{
return (n<=Math.max(a,b) && n>=Math.min(a,b)) ? true:false;
}
public String dec2str(int n, int d) // 10進数nのd進数文字列化
{
String s=Integer.toString(n, d);
return s;
}
public int num2com(int m, int n) // m をnの補数にする
{
int i,j,l;
String s=dec2str(m, (n<3)?2:10);
l=s.length();
for(i=0,j=1; i0) Bin=k;
repaint();
}
if(my>155 && inside(mx,140,652)) // ラジオボタンをクリック
{
if(inside(mx,140,222) && Cb== 1) Cb= 2;
if(inside(mx,230,312) && Cb== 2) Cb= 1;
if(inside(mx,480,562) && Cd== 9) Cd=10;
if(inside(mx,570,652) && Cd==10) Cd= 9;
repaint();
}
return true;
}
}
// 戻る