スクリプト言語の HSP については、公式ホームページの「HSPTV!」をどうぞ。
このページは「単位文字列について」シリーズの1つです。
ここには、HSPで5桁のビット/秒文字列を作成するサンプルを紹介します。(戻る)
小技集のサンプル
管理上このサンプルは sample236(5桁ビット/秒の文字列を作成).hsp のソースです。
//------------------------------------------------------------------------------ // 5桁ビット/秒の文字列を作成 by 科学太郎 //============================================================================== // 新規作成日:2018-08-09 (木) 12:50:00 // 最終更新日:2018-08-09 (木) 12:58:00 //------------------------------------------------------------------------------ //-------------------------------------- // 記号定数 //-------------------------------------- #define MSG_SPACE " " //-------------------------------------- // メイン部 //-------------------------------------- *Init ;ビット/秒 sdim BitUnits,9 BitUnits(0)=" bps","Kbps","Mbps","Gbps","Tbps","Pbps","Ebps","Zbps","Ybps" *Main screen 0,640,480,SCREEN_NORMAL|SCREEN_FIXEDSIZE syscolor 15:boxf:color:title "5桁ビット/秒の文字列を作成 by 科学太郎" ;固定5桁 s="" a=1.0 repeat 90 s+=MakeBitUnit5A(a)+"\n" a*=2.0 loop ;可変5桁 t="" a=1.0 repeat 90 t+=MakeBitUnit5B(a)+"\n" a*=2.0 loop ;文字 font MSGOTHIC,14 x=ginfo_winX/2 y=ginfo_winY-20 color $00,$00,$00:boxf color $FF,$FF,$00:pos 0,3:mes "《固定5桁のビット/秒》" color $FF,$FF,$00:pos x,3:mes "《可変5桁のビット/秒》" ;結果 font MSGOTHIC,12:objmode 2 pos 0,20:mesbox s,x,y,5,0 pos x,20:mesbox t,x,y,5,0 stop //-------------------------------------- // 5桁ビット/秒の文字列を作成 //-------------------------------------- #defcfunc MakeBitUnit5A double _size_,\ local nPos,\ local dbSize dbSize=(_size_) if(dbSize<1000.0){ return strf("%5.f",dbSize)+MSG_SPACE+BitUnits(nPos) } while(dbSize>=1000.0) dbSize/=1000.0:nPos++ wend return strf("%5.1f",dbSize)+MSG_SPACE+BitUnits(nPos) //-------------------------------------- // 5桁ビット/秒の文字列を作成 //-------------------------------------- #defcfunc MakeBitUnit5B double _size_,\ local nPos,\ local dbSize,\ local szSize dbSize=(_size_) if(dbSize<1000.0){ return strf("%5.f",dbSize)+MSG_SPACE+BitUnits(nPos) } while(dbSize>=1000.0) dbSize/=1000.0:nPos++ wend ;補正 szSize=strf("%f",dbSize) :poke szSize,5 if(peek(szSize,4)=='.') :poke szSize,4 return strf("%5s",szSize)+MSG_SPACE+BitUnits(nPos) //------------------------------------------------------------------------------ // End of sample236(5桁ビット/秒の文字列を作成).hsp //------------------------------------------------------------------------------
スクリーン・ショット
実行結果
固定5桁 | 可変5桁 |
---|---|
1 bps 2 bps 4 bps 8 bps 16 bps 32 bps 64 bps 128 bps 256 bps 512 bps 1.0 Kbps 2.0 Kbps 4.1 Kbps 8.2 Kbps 16.4 Kbps 32.8 Kbps 65.5 Kbps 131.1 Kbps 262.1 Kbps 524.3 Kbps 1.0 Mbps 2.1 Mbps 4.2 Mbps 8.4 Mbps 16.8 Mbps 33.6 Mbps 67.1 Mbps 134.2 Mbps 268.4 Mbps 536.9 Mbps 1.1 Gbps 2.1 Gbps 4.3 Gbps 8.6 Gbps 17.2 Gbps 34.4 Gbps 68.7 Gbps 137.4 Gbps 274.9 Gbps 549.8 Gbps 1.1 Tbps 2.2 Tbps 4.4 Tbps 8.8 Tbps 17.6 Tbps 35.2 Tbps 70.4 Tbps 140.7 Tbps 281.5 Tbps 562.9 Tbps 1.1 Pbps 2.3 Pbps 4.5 Pbps 9.0 Pbps 18.0 Pbps 36.0 Pbps 72.1 Pbps 144.1 Pbps 288.2 Pbps 576.5 Pbps 1.2 Ebps 2.3 Ebps 4.6 Ebps 9.2 Ebps 18.4 Ebps 36.9 Ebps 73.8 Ebps 147.6 Ebps 295.1 Ebps 590.3 Ebps 1.2 Zbps 2.4 Zbps 4.7 Zbps 9.4 Zbps 18.9 Zbps 37.8 Zbps 75.6 Zbps 151.1 Zbps 302.2 Zbps 604.5 Zbps 1.2 Ybps 2.4 Ybps 4.8 Ybps 9.7 Ybps 19.3 Ybps 38.7 Ybps 77.4 Ybps 154.7 Ybps 309.5 Ybps 619.0 Ybps |
1 bps 2 bps 4 bps 8 bps 16 bps 32 bps 64 bps 128 bps 256 bps 512 bps 1.024 Kbps 2.048 Kbps 4.096 Kbps 8.192 Kbps 16.38 Kbps 32.76 Kbps 65.53 Kbps 131.0 Kbps 262.1 Kbps 524.2 Kbps 1.048 Mbps 2.097 Mbps 4.194 Mbps 8.388 Mbps 16.77 Mbps 33.55 Mbps 67.10 Mbps 134.2 Mbps 268.4 Mbps 536.8 Mbps 1.073 Gbps 2.147 Gbps 4.294 Gbps 8.589 Gbps 17.17 Gbps 34.35 Gbps 68.71 Gbps 137.4 Gbps 274.8 Gbps 549.7 Gbps 1.099 Tbps 2.199 Tbps 4.398 Tbps 8.796 Tbps 17.59 Tbps 35.18 Tbps 70.36 Tbps 140.7 Tbps 281.4 Tbps 562.9 Tbps 1.125 Pbps 2.251 Pbps 4.503 Pbps 9.007 Pbps 18.01 Pbps 36.02 Pbps 72.05 Pbps 144.1 Pbps 288.2 Pbps 576.4 Pbps 1.152 Ebps 2.305 Ebps 4.611 Ebps 9.223 Ebps 18.44 Ebps 36.89 Ebps 73.78 Ebps 147.5 Ebps 295.1 Ebps 590.2 Ebps 1.180 Zbps 2.361 Zbps 4.722 Zbps 9.444 Zbps 18.88 Zbps 37.77 Zbps 75.55 Zbps 151.1 Zbps 302.2 Zbps 604.4 Zbps 1.208 Ybps 2.417 Ybps 4.835 Ybps 9.671 Ybps 19.34 Ybps 38.68 Ybps 77.37 Ybps 154.7 Ybps 309.4 Ybps 618.9 Ybps |
- 固定5桁のビット/秒文字列は、小数点位置が固定してるため有効桁数が変化します。
- 可変5桁のビット/秒文字列は、小数点位置が可変するため有効桁数は常に4桁を表示します。
- ネット・モニターのソフトなどでは、可変5桁のビット/秒文字列を使います。
関連記事
- 5桁バイト単位文字列のサンプル
- 5桁バイト/秒文字列のサンプル
- 5桁ビット/秒文字列のサンプル
- 5桁Mバイト/秒文字列のサンプル
※コメント投稿者のブログIDはブログ作成者のみに通知されます