//
/* ----------------------------------------------------------------------------------------------
    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;
	}
}
//
戻る