« 【講座】HSP3ワンポイントテクニック 第37回 | メイン | 【よみもの】ゆめゆめ日記 第4回 »

2009年06月10日

HSPTV!メルマガ 第72号

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HSPTV!メルマガ 第72号 N0.0072 2009/06/10 発行

編集長:うすあじ ( hsptv@hspcenter.com )
発行:HSPTV!(ONION software)
WEBサイト:http://hsp.tv/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
登録解除などはこちら http://hsp.tv/play/service.html

■はじめに

こんにちは、うすあじです。

またまたまた、お久しぶりです。

すっかり6月になってしまいした。

先日はhsp.tvのドメインが失効してしまい、
アクセス出来なくなるというトラブルが発生しました。

現在は問題なく使えますので、安心してください。


さて、ベータ版の新バージョンが公開です!!

HSP Ver3.2β3版ダウンロード 公開
http://www.onionsoft.net/hsp/hsp2beta.html

是非、ニューバージョンを試してみてください。

それでは、メルマガスタートです。
(うすあじ)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■今回のインデックス

【よみもの】ゆめゆめ日記 第4回 (ゆめゆめゆうか)

【講座】「教えて!おにたま!!」 (おにたま)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【よみもの】ゆめゆめ日記 第4回

こんにちは、ゆめゆめゆうかです。

みんながHSPを勉強しだしたのは
いつごろなのかな・・?

中学生?高校生?
早い人だと小学生?

私が小学生とか中学生のころ
何してたんだっけ・・・

学校いってー
習い事いってー
塾とかいってー
本読んでー
絵描いてー
とかだったかな。

あんまり今とやってること
変わってないな(^_^;

こどものころにやってたことが
今お仕事になってるもんなーー。
こどものころの自分に感謝だなー。

HSP勉強してるみんなも
大人になって、お仕事になる人
いるかもね!

みんなは、どんな大人になりたいですか?
みんなに夢はありますか?

よかったらメールくださいね。
宛先は”うすあじ”( hsptv@hspcenter.com )まででーす。

(ゆめゆめゆうか)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【講座】「教えて!おにたま!!」

はじめまして。
累乗を計算してたら、何か挙動がおかしいので困ってます。
HSPで累乗するために hspmath.as のpow関数を使っているのですが、
出てくる値を整数型に変えるとおかしい数になってしまいます。
2の3乗が7、2の6乗が63など・・・。
これは整数型に変えちゃだめなんですか?
int関数で変換しなくても、整数と一緒に計算しただけで
勝手に整数型になっておかしい数字になります。
計算がくるって正しい結果が出せません;
これはいったいどういうことか教えてくださいorz
10進数を2進数につたないながらも変換しようとしていました。。

<こたえ>

お便りありがとうございます。
HSP3の実数計算は、64bitの精度を持っていますが、計算の内容に
よっては誤差が出てしまうことがあります。
hspmath.asのpow関数は、累乗を求めるものですが、近似値を得る
ようになっているため、整数に変換した時に誤差が出ることが
あります。以下のスクリプトを実行してみてください。

#include "hspmath.as"

a=pow(2,3) ; 2の3乗を求める
mes a ; そのまま表示
mes strf("%.16f",a) ; 小数点以下16桁を表示

最初は、計算結果が代入されている変数の内容をそのまま表示
しています。この時は「8.0」ですが、実際に小数点以下の細かい
部分まで表示してみると、「7.9999...」という数値になっています。
int関数などで整数に変換すると、「7.9999...」の整数部分である
「7」だけを取り出してしまい、誤差が出ることになります。
ただ、そのまま表示した場合は、「8.0」になっている点が不可解です。
通常の実数表示では小数点以下6桁程度までを取るようになっていて、
その際に有効な桁から下は四捨五入しているため、このような結果に
なっているのです。
もし、この四捨五入された値で整数に変換したい場合は、一度
文字列型に変換してから、再度整数値に戻すといった方法を取ることも
可能です。

#include "hspmath.as"

a=pow(2,3) ; 2の3乗を求める
st=str(a) ; 文字列に変換
mes int(st) ; 整数として表示

ところで、10進数を2進数に変換という目的であれば、実数で計算を
行なう必要はないので、最初から整数ですべて行なうのも手だと
思います。また、2のn乗を計算するのであれば、演算子「<<」を
使うことができます。
以下は、2のn乗を求めるスクリプトです。

repeat 9
n=cnt
val=1 ‹‹n ; 2をn乗する
mes "2^"+n+"="+val
loop
stop

それでは、またまた。HSPに限らず、PCのコトや
プログラミング関係どんなことでもお便り待っていますね。

(おにたま)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[PR]オススメHSP3の本
・はじめてのHSP3

・3Dゲーム・クックブック HSP+Easy3D入門

・HSP3.1プログラミング入門

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■編集後記

さて、今回のメルマガでしたが、どうでしたか?

HSPやメルマガに関する質問、疑問、要望などがあったら
hsptv@hspcenter.com まで送ってください。

いよいよ関東地方は梅雨入りです。
洗濯物が乾かなかったり、ジメジメしたり、大変ですが、
頑張っていきましょう。

ではまた次回!
(うすあじ)

■バックナンバーについて

バックナンバーの公開ページはこちら
http://www.hspcenter.com/hsptvm/

■解約方法

 登録解除などはこちら
http://hsp.tv/play/service.html

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
編集長:うすあじ ( http://hspcenter.com/ )
記事の投稿、ご意見、ご希望はこちらまで hsptv@hspcenter.com

ONION software Copyright 2009(c) All rights reserved.
メルマガ本文の再配布・商利用、転載は禁止させて頂きます。
HSPのスクリプトサンプルは自由に再利用しても構いません。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

投稿者 usuaji : 2009年06月10日 01:39

口臭チェッカー市場