10進→2進が既に変換できるようであれば
面倒ですが10進→2進→16進の方が分かりやすいかもしれません。
23.6(10進)→10111.1001...(2進)になります
少数の計算方法を説明すると
2進数の小数は、左から 2/1 4/1 8/1 16/1... という重みです。
言い換えると 0.5 0.25 0.125 0.0625 ...
よって0.6は 0.5+0.0625 が一番近いので .1001になります。
誤差が出てしまいますが、0.1未満なのでここでは無視します。
確か、指示がなくても大概切り捨てて良かった気がします・・・
10111.1001(2進)を16進にします。
2進4桁で16進数1桁に変換できる法則(?)があるので
両側、小数点から数えて4つづつで切ります。
←...0000|0001|0111|.|1001|00...→
無視することにした右の塊と、「0」しか無い左の塊を消すと
0001|0111|.|1001 これを塊ごとに10進数化します↓
1|7|.|9 これで答えの17.9が出ます。
今回はなりませんでしたが 12|5|.|10 等になった場合、C|5|.|A と16進数の表記に直してください。
どこらへんが疑問なのか分からなかったので
長々書いてしまいました;分かりづらかったらスミマセン。