問題3の解答例
 小数部が0.5以上だったら、整数部に1を足す、でもいいのですが、もっと簡単な方法があります。0.5を足して、小数点以下を切り捨てればいいのです。小数部が0.5未満の値に0.5を足しても、整数部は変化しません。小数部が0.5以上の値に0.5を足すと、整数部が1増えます。
 0.5は整数表現で128ですから、numberに0.5を足す処理はこうなります。
    answer=number+128
 整数に直す処理は">>8"ですね?
    answer=answer>>8
 これで小数点以下が切り捨てられます。

	; メインルーチン
	number=32928	; 128.625の整数表現
	gosub *Round_Num
	mes "答は"+answer+"です。"
	stop

	; numberの小数点以下第一位を四捨五入し、answerに代入するサブルーチン
*Round_Num
	answer=number+128
	answer=answer>>8
	return

[戻る] inserted by FC2 system