SDOTECK HOME

  • ご参考になりましたか?
    SDOTECKブログでは、みなさんからのフィードバックをお待ちしています。 説明が解らなかったり、もっと詳しく解説してほしいポイント・テーマがありましたら、お気軽にsudoteck@gmail.com までメールくださるか、記事にコメントして下さい。
  • -

RF PowerAMP なら

  • RF AMP DESIGN

HEX calc pro 1.00

  • HEX calc pro ver1.00
    エンジニア向けの16進と浮動小数点を混在して入力出来る計算機 。 Version 1.00 高機能な 16進電卓や科学計算電卓はありますが、いちいちモードを切り替えなければならず、最大の問題は16進数と小数点値を同時に使用出来ないことです。
    詳しい説明はここ
    iTunes ではここまで

ATT calc

  • ATT calc ver2.00
    iPhone 用 RF アッテネーター計算ソフトです。  RF開発エンジニアに必要な、 dBm - W 換算機能をはじめ、π型やT型の ATTを 設計する上で、必要な dB値から抵抗値を算出する機能と、 E24系列の抵抗値を 使用したときの減衰量(dB)と整合インピーダンス(Ω) が表示されますので、どの 抵抗値の組み合わせがよいか検討できます。  また、正確な値を必要とする場合に2個のE24系列抵抗を並列接続して理想の値を 求める計算機能も持っています。  操作はピッカーホイールを回すだけですので、実験中でも片手で簡単に操作 できます。

FIL Calc

  •  LPF 計算機
    RFエンジニア向けフィルター計算ソフト LPFやHPFの設計をするときに、いちいちパソコンを起動してフィルタを設計、結果をプリントアウトして、実験室に行ってネットワークアナライザで測定・実験、ちょっと修正したい時にまたパソコンの所にもどって、再計算...というのが結構面倒で、手軽にiPhone で計算できるといいいなと思って作りました。

iPhone APP

  • ATT calc ver2.00
    SDOTECK が開発した iPhone APP の紹介です。 NEWS---SWRproリリース

Amazon

  • AMAZON Books

RAKUTEN

  • RAKUTEN

mujic.jp

  • music.jp
    music.jp

サイト内検索には?

  • -------------------------------
    ◆下の検索機能でこのブログのすべての関連項目を検索出来ます。是非使ってみて下さい。
サイト内検索
ココログ最強検索 by 暴想

SCHEMATICS

BOSE

  • BOSE
    クワイアットコンフォート20
無料ブログはココログ

Google

  • Google

« 月刊誌のはなし | トップページ | パワーSMDデバイスのパッドのはなし »

2012年4月 3日 (火)

int 型にキャスト のはなし

int 型にキャストとは
 C言語で int 型とは整数型のことで、キャストとは int型以外の数値型を int型に変えるような、「変数値を型変換する」ことで、代入先がintに指定されている時や、単純に整数値がほしい時によく使います。
今回は
iPhoneのバッテリーの値を読み取るのに、
[ UIDevice currentDevice].batteryLevel
にて、浮動小数点型(Float)の型の帰り値で、0.00(ゼロ)〜 1.00(フルレベル)までの値を得ることが出来ます。これを0から10までの int 型にしてバー表示をしようとしました。
int barLevel ;
barLevel = (int) [ UIDevice currentDevice].batteryLevel * 10.0f ;
としたのです。
Battlev10
デバッグ中はバッテリーがフル充電だったので、バッテリーレベルはフルの10個を表示して問題なかったのですが、確認しようとしばらく実機でバッテリーが減るまで動かしてみると、今度はゼロレベルになっています。他のアプリでバッテリー残量を計測すると91%なので、これはおかしい!
 さっそくデバッガで確認すると、barLevel に代入された値が0になっています。
そこで、
float fdata ;
int barLevel;
fdata = [ UIDevice currentDevice].batteryLevel ;
barLevei =(int) fdata * 10.0f ;
とやってみると、はじめの fdata には 0.910 が入っているのに、barLevel には 0になってしまうのです。
 ここで、はたと思いつきました。
「もしかして (int)は最初の fdata だけにかかっているんじゃないかな?」です。
(int)fdata は、 (int) 0.91 なので、 0 になります。 0 x 10 = 0 ですよね。
そこで、
barLevei =(int)( fdata * 10.0f) ;
とやったら、ちゃんと 9が入りました。
最初の
barLevel = (int) [ UIDevice currentDevice].batteryLevel * 10.0f ;
は、参考書丸写しだったのに...
正確には
barLevel = (int)( [ UIDevice currentDevice].batteryLevel * 10.0f );
と書くべきだったのですね。
C言語が自分の都合良く解釈してくれるわけないですね。
そして、もうすぐリリース
 無事にiTune にアップロード出来たので、認可されればもうじき新アプリがリリースされます。
今回は GPSで車の速度を計るもの。それだけでは面白くないので、仮想エンジンを作って、タコメーターとギアチェンジの様子を再現したり、傾きセンサーで車の傾斜計や、現在位置と向きを示す地図表示の機能をつけました。英語バージョンのチェックで現在位置を表示させたら、出てきました..この辺りは岳南鉄道の須津駅(Sudo)の近くです。英語バージョンでも漢字がでるのはちょっとびっくり。
20120403_141409


« 月刊誌のはなし | トップページ | パワーSMDデバイスのパッドのはなし »

iOS」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/556493/54379880

この記事へのトラックバック一覧です: int 型にキャスト のはなし:

« 月刊誌のはなし | トップページ | パワーSMDデバイスのパッドのはなし »