2014年一覧

一山一家

 

 

ひとつの炭鉱で家族全員支えている。常磐の炭鉱からスパリゾートハワイアンズに変貌を遂げた、常磐リゾートに関わる町全体が一致団結するための言葉。

常磐ハワイアンズセンターがつぶれれば、一家全員が終わる。この覚悟の中に生きる。

今の会社首になっても他を探せばいいや的なものでもない。ここしかない。このみちしかないので

私個人が存続に貢献しないと意味がないというか、存続するために必死に考えて行動する。それだけの

モチベーションでやってきました。

昔の自分とは次元が違うことも意識せよ。少しでもプロに意識が近づいている。そんな中で、他のようび

会おうとしていた、

 



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




今度は台風か

噴火の次に容赦なくちかづいている台風。しぜん現象には、なにも怒りの感情はでない。

たんたんと情はない。これが自然の驚異と畏怖。この上に私たちは生活していることを忘れないで

いればよい。

 



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




[c言語] 型変換(キャスト)について

型変換(キャスト)

では、今回は型の変換についてみていきましょう。
まず、次のプログラムを見てください。

#include <stdio.h>

int main()
{
printf(“%f\n”, 1/2);
return 0;
}
これは1/2の計算結果を画面上に表示するというごく簡単なプログラムですが、
一体この計算結果はどのように表示されると思いますか?

実は0.000000と表示されてしまうのです。

私達は当然0.5と表示されることを期待している訳ですが、整数と整数の計算結果は整数になるというルールがありまして、小数点以下の数値は問答無用で 切り捨てられてしまうのです。そのため、この計算結果は0となってしまったのです。

では、0.5の結果を得ようと思ったらどうすればよいのでしょうか?答えは簡単!実数同士の演算にしてしまえばよいのです。

printf(“%f\n”, 1.0f/2.0f);
これで、期待通りの0.500000という結果を得ることができました。

また、これ以外にも、型キャストを利用することによって強引に整数値を実数値に変換してしまうという方法もあります。例えば最初のプログラムを次のように書きなおすことによって期待する結果を得ることも可能です。

printf(“%f\n”, (float)1/(float)2);
また、C言語においては、異なる型同士の演算がサポートされています。つまり、整数と実数という異なるデータ型同士の演算も可能ということです。例えばint型とfloat型の計算を行う場合、 int型のデータは自動的にfloat型に変換されることになるのです。このことを型の昇格といいまして、昇格の関係は大雑把に次のようになっています。
char ⇒ int ⇒ long ⇒ float ⇒ double
この型の昇格がサポートされているお陰で、次のように書いても、期待する結果を得ることができます。

printf(“%f\n”, 1.0f/2);
では最後に、型キャストに関する注意事項を話しておきましょう。

例えばchar型からint型への変換は問題ありませんが、逆にint型からchar型へ変換する場合などは注意が必要です。int型という大きいサイズをchar型の小さいサイズに強引に変えてしまう訳ですから、 データが一部損失してしまう可能性があるのです。

では次の例を見てください。

#include <stdio.h>

int main(int, char**)
{
int a=123456;
printf(“%d\n”, (char)a);
return 0;
}
この場合の表示結果は64となってしまい、データが損失していることが確認できます。
ただ、このキャストによりデータが損失してしまうという性質を利用して、
float型から int型にキャストして小数点以下の切り捨てを行うこともできます。


 



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。