jegan2020/03/14 09:14すっきりしました。最後の補足がありがたかったです。 僕はビットとバイトを混同していたみたいです^^; strlen関数というものがあることを知って、文字列だけでなく数字(int型)の文字数が求めたかったんです 親切に回答していただきありがとうございました。
thkana2020/03/14 22:35> 数値(int型)に文字数はありません。文字じゃないので。 説明しよう(って、昔アニメねた) 「値」ってのは本来は概念なんですよ。***** ***** いくつですか? これを10とかtenとか十とか、なんと表そうととにかく*の個数は変わらないです。その数そのものが「数値」。だから、数値に文字数なんてものは定義できません。 その数値を十進数でアラビア数字で表しましょうね、と決めて初めて「表記」が決まって、"10"という数字で書けて、2という文字数が出てくるのです。 日常生活では数値と数字を区別しませんし、数値を表すのは暗黙の了解として10進数アラビア数字でしょう。でも、コンピュータは本来「数値」しか扱えず、文字に対してある数値を割り当てて(いわゆる文字コード)、「ここは文字ですよ」という約束のもとに数値で文字を扱うようにしています。 なので、数値と数字(文字)をきっちり区別して考えないとまともな結果が得られない場面もある、という話です。
cateye2020/03/14 09:05ちなみに、Linuxでのclangだと、下記の値が範囲と成ります。 SCHAR_MIN: -128 SCHAR_MAX: +127 SHRT_MIN: -32768 SHRT_MAX: +32767 INT_MIN: -2147483648 INT_MAX: +2147483647 LONG_MIN: -9223372036854775808 LONG_MAX: +9223372036854775807