自力float

コミックメーカーとかウディタに転用できねーかな。と
自力float書き始めましたw
桁揃え、桁上げ、桁下げ、絶対値、軽い絶対値、比較
くらい書きましたw 次の更新大分 遅くなったりしてw

value_A=100
plus_or_minus_A=1 ;1or-1
div_num_A=0
mul_num_A=0

value_B=20
plus_or_minus_B=-1
div_num_B=0
mul_num_B=0

value_A=1
plus_or_minus_A=1
div_num_A=0
mul_num_A=0
xketa_to_8keta 1,value_A,plus_or_minus_A,div_num_A,mul_num_A
logmes_dat value_A,plus_or_minus_A,div_num_A,mul_num_A

value_A=12
plus_or_minus_A=1
div_num_A=0
mul_num_A=0
xketa_to_8keta 2,value_A,plus_or_minus_A,div_num_A,mul_num_A
logmes_dat value_A,plus_or_minus_A,div_num_A,mul_num_A

value_A=123
plus_or_minus_A=1
div_num_A=0
mul_num_A=0
xketa_to_8keta 3,value_A,plus_or_minus_A,div_num_A,mul_num_A
logmes_dat value_A,plus_or_minus_A,div_num_A,mul_num_A

value_A=1234
plus_or_minus_A=1
div_num_A=0
mul_num_A=0
xketa_to_8keta 4,value_A,plus_or_minus_A,div_num_A,mul_num_A
logmes_dat value_A,plus_or_minus_A,div_num_A,mul_num_A

value_A=12345
plus_or_minus_A=1
div_num_A=0
mul_num_A=0
xketa_to_8keta 5,value_A,plus_or_minus_A,div_num_A,mul_num_A
logmes_dat value_A,plus_or_minus_A,div_num_A,mul_num_A

value_A=123456
plus_or_minus_A=1
div_num_A=0
mul_num_A=0
xketa_to_8keta 6,value_A,plus_or_minus_A,div_num_A,mul_num_A
logmes_dat value_A,plus_or_minus_A,div_num_A,mul_num_A

value_A=1234567
plus_or_minus_A=1
div_num_A=0
mul_num_A=0
xketa_to_8keta 7,value_A,plus_or_minus_A,div_num_A,mul_num_A
logmes_dat value_A,plus_or_minus_A,div_num_A,mul_num_A

value_A=123
plus_or_minus_A=1
div_num_A=0
mul_num_A=0
_abs value_A,plus_or_minus_A,div_num_A,mul_num_A
logmes_dat value_A,plus_or_minus_A,div_num_A,mul_num_A

value_A=456
plus_or_minus_A=-1
div_num_A=0
mul_num_A=0
_abs value_A,plus_or_minus_A,div_num_A,mul_num_A
logmes_dat value_A,plus_or_minus_A,div_num_A,mul_num_A

value_A=234
plus_or_minus_A=1
div_num_A=0
mul_num_A=0
_abs_light plus_or_minus_A
logmes_dat value_A,plus_or_minus_A,div_num_A,mul_num_A

value_A=567
plus_or_minus_A=-1
div_num_A=0
mul_num_A=0
_abs_light plus_or_minus_A
logmes_dat value_A,plus_or_minus_A,div_num_A,mul_num_A

value_A=345
plus_or_minus_A=1
div_num_A=3
mul_num_A=2
keta_soroe value_A,plus_or_minus_A,div_num_A,mul_num_A
logmes_dat value_A,plus_or_minus_A,div_num_A,mul_num_A

value_A=678
plus_or_minus_A=1
div_num_A=4
mul_num_A=4
keta_soroe value_A,plus_or_minus_A,div_num_A,mul_num_A
logmes_dat value_A,plus_or_minus_A,div_num_A,mul_num_A

value_A=901
plus_or_minus_A=1
div_num_A=1
mul_num_A=2
keta_soroe value_A,plus_or_minus_A,div_num_A,mul_num_A
logmes_dat value_A,plus_or_minus_A,div_num_A,mul_num_A

value_A=234
plus_or_minus_A=1
div_num_A=1
mul_num_A=0
c=2:	keta_age c,value_A,plus_or_minus_A,div_num_A,mul_num_A
logmes_dat value_A,plus_or_minus_A,div_num_A,mul_num_A
c=1:	keta_age c,value_A,plus_or_minus_A,div_num_A,mul_num_A
logmes_dat value_A,plus_or_minus_A,div_num_A,mul_num_A
value_A=10
plus_or_minus_A=1
div_num_A=1
mul_num_A=0
set4bigger_A value_A,plus_or_minus_A,div_num_A,mul_num_A
value_B=20
plus_or_minus_B=1
div_num_B=2
mul_num_B=0
set4bigger_B value_B,plus_or_minus_B,div_num_B,mul_num_B
logmes ""+which_abs_is_bigger()

value_A=30
plus_or_minus_A=1
div_num_A=4
mul_num_A=0
set4bigger_A value_A,plus_or_minus_A,div_num_A,mul_num_A
value_B=40
plus_or_minus_B=1
div_num_B=3
mul_num_B=0
set4bigger_B value_B,plus_or_minus_B,div_num_B,mul_num_B
logmes ""+which_abs_is_bigger()

value_A=50
plus_or_minus_A=1
div_num_A=0
mul_num_A=2
set4bigger_A value_A,plus_or_minus_A,div_num_A,mul_num_A
value_B=60
plus_or_minus_B=1
div_num_B=0
mul_num_B=3
set4bigger_B value_B,plus_or_minus_B,div_num_B,mul_num_B
logmes ""+which_abs_is_bigger()

value_A=70
plus_or_minus_A=1
div_num_A=0
mul_num_A=5
set4bigger_A value_A,plus_or_minus_A,div_num_A,mul_num_A
value_B=80
plus_or_minus_B=1
div_num_B=0
mul_num_B=4
set4bigger_B value_B,plus_or_minus_B,div_num_B,mul_num_B
logmes ""+which_abs_is_bigger()

value_A=92
plus_or_minus_A=1
div_num_A=1
mul_num_A=1
set4bigger_A value_A,plus_or_minus_A,div_num_A,mul_num_A
value_B=91
plus_or_minus_B=1
div_num_B=0
mul_num_B=0
set4bigger_B value_B,plus_or_minus_B,div_num_B,mul_num_B
logmes ""+which_abs_is_bigger()


value_A=93
plus_or_minus_A=1
div_num_A=2
mul_num_A=2
set4bigger_A value_A,plus_or_minus_A,div_num_A,mul_num_A
value_B=94
plus_or_minus_B=1
div_num_B=3
mul_num_B=3
set4bigger_B value_B,plus_or_minus_B,div_num_B,mul_num_B
logmes ""+which_abs_is_bigger()

value_A=95
plus_or_minus_A=1
div_num_A=0
mul_num_A=0
set4bigger_A value_A,plus_or_minus_A,div_num_A,mul_num_A
value_B=95
plus_or_minus_B=1
div_num_B=4
mul_num_B=4
set4bigger_B value_B,plus_or_minus_B,div_num_B,mul_num_B
logmes ""+which_abs_is_bigger()
stop
#deffunc logmes_dat var value,var p_or_m,var div,var mul
	logmes "value : "+value
	logmes "符号 : "+p_or_m
	logmes "div : "+div
	logmes "mul : "+mul
	return

#deffunc keta_soroe var value,var p_or_m,var div,var mul
	if (div!=0)&&(mul!=0){
		if div > mul:div-=mul:mul=0
		if div < mul:mul-=div:div=0
		if div == mul:div=0:mul=0
	}
	return
#deffunc xketa_to_8keta_A int p_cur_keta,var value,var p_or_m,var div,var mul
	if p_cur_keta==1:value*=10000000:div+=7
	if p_cur_keta==2:value*=1000000:div+=6
	if p_cur_keta==3:value*=100000:div+=5
	if p_cur_keta==4:value*=10000:div+=4
	if p_cur_keta==5:value*=1000:div+=3
	if p_cur_keta==6:value*=100:div+=2
	if p_cur_keta==7:value*=10:div+=1
	keta_soroe value,p_or_m,div,mul
	return
#deffunc xketa_to_8keta int p_cur_keta,var value,var p_or_m,var div,var mul
	if p_cur_keta==1:value*=10000000:	var_c=7:keta_sage var_c,value,p_or_m,div,mul
	if p_cur_keta==2:value*=1000000:	var_c=6:keta_sage var_c,value,p_or_m,div,mul
	if p_cur_keta==3:value*=100000:		var_c=5:keta_sage var_c,value,p_or_m,div,mul
	if p_cur_keta==4:value*=10000:		var_c=4:keta_sage var_c,value,p_or_m,div,mul
	if p_cur_keta==5:value*=1000:		var_c=3:keta_sage var_c,value,p_or_m,div,mul
	if p_cur_keta==6:value*=100:		var_c=2:keta_sage var_c,value,p_or_m,div,mul
	if p_cur_keta==7:value*=10:			var_c=1:keta_sage var_c,value,p_or_m,div,mul
	keta_soroe value,p_or_m,div,mul
	return
#deffunc keta_age var p,var value,var p_or_m,var div,var mul
	keta_soroe value,p_or_m,div,mul
	if p <= div{
		div-=p
	}else{
		p-=div:div=0
		mul+=p
	}
	return
#deffunc keta_sage var p,var value,var p_or_m,var div,var mul
	keta_soroe value,p_or_m,div,mul
	if p <= mul{
		mul-=p
	}else{
		p-=mul:mul=0
		div+=p
	}
	return
#deffunc _abs var value,var p_or_m,var div,var mul
	p_or_m=1
	return
#deffunc _abs_light var p_or_m
	p_or_m=1
	return
#deffunc set4bigger_A var value,var p_or_m,var div,var mul
	_4bigger_A_value=value
	_4bigger_A_p_or_m=p_or_m
	_4bigger_A_div=div
	_4bigger_A_mul=mul
	return
#deffunc set4bigger_B var value,var p_or_m,var div,var mul
	_4bigger_B_value=value
	_4bigger_B_p_or_m=p_or_m
	_4bigger_B_div=div
	_4bigger_B_mul=mul
	return
//	Aが大きいと"A" Bが大きいと"B" 等しいと"0"を返す
#defcfunc which_abs_is_bigger
	keta_soroe _4bigger_A_value,_4bigger_A_p_or_m,_4bigger_A_div,_4bigger_A_mul
	keta_soroe _4bigger_B_value,_4bigger_B_p_or_m,_4bigger_B_div,_4bigger_B_mul
	_abs_light _4bigger_A_p_or_m
	_abs_light _4bigger_B_p_or_m
	
	if _4bigger_A_div < _4bigger_B_div : return "A"
	if _4bigger_A_div > _4bigger_B_div : return "B"
	if _4bigger_A_mul < _4bigger_B_mul : return "A"
	if _4bigger_A_mul > _4bigger_B_mul : return "B"
	
	if _4bigger_A_div == _4bigger_B_div{
		if _4bigger_A_mul == _4bigger_B_mul{
			if _4bigger_A_value > _4bigger_B_value : return "A"
			if _4bigger_A_value < _4bigger_B_value : return "B"
		}
	}
	return "0"