2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

プログラミングC言語のキャストに詳しい人きてください

1 :以下、\(^o^)/でVIPがお送りします:2015/02/01(日) 02:03:42.85 ID:8MxExrkj0.net
float FLOAT=400.0F;
unsigned short SHORT;

CHAR = (unsigned char)FLOAT/3;

これでCHARを出力すると133になるかと思いきや48なんだがなにがいけないのだろうか・・・

2 :以下、\(^o^)/でVIPがお送りします:2015/02/01(日) 02:04:55.43 ID:P02N/ER3p.net
ASCIIコードでggrks

3 :以下、\(^o^)/でVIPがお送りします:2015/02/01(日) 02:05:49.53 ID:8MxExrkj0.net
>>2
対策を教えていただけんだろうか

4 :以下、\(^o^)/でVIPがお送りします:2015/02/01(日) 02:07:12.81 ID:Mjnqozdu0.net
演算子の優先順位の問題だろ
キャストのような単項演算子は/より優先順位高いよ

5 :以下、\(^o^)/でVIPがお送りします:2015/02/01(日) 02:11:30.02 ID:8MxExrkj0.net
>>4
原理はわかった
unsigned shortは255以上受付られなくて
先に400を受け入れようとして桁あふれが生じて/3して48になってるのか

でもどうやれば133になるようにできる?

6 :以下、\(^o^)/でVIPがお送りします:2015/02/01(日) 02:12:19.97 ID:0uSTJae80.net
キャストするなよ

7 :以下、\(^o^)/でVIPがお送りします:2015/02/01(日) 02:12:30.65 ID:8MxExrkj0.net
適当にCHAR = (unsigned char)(FLOAT/3);
にしたら133になったわ・・・

8 :以下、\(^o^)/でVIPがお送りします:2015/02/01(日) 02:13:21.39 ID:aNo9CTh60.net
問題とは全く関係ないけど変数名が全部大文字はやめろ

9 :以下、\(^o^)/でVIPがお送りします:2015/02/01(日) 02:13:18.57 ID:8MxExrkj0.net
>>6
キャストしないでも133になれたわ・・・

10 :以下、\(^o^)/でVIPがお送りします:2015/02/01(日) 02:16:12.78 ID:8MxExrkj0.net
>>8
お試しコードなもんで・・・

総レス数 10
2 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★