リュックに何いれる?

一人暮らし・itエンジニア・読書

【Java SE 11 Silver対策】いつの間にか忘れる基本データ型の範囲の計算

基本データ型の範囲について、普通に試験に出るんだよな~いつか覚えよう(1週間前の私)

 

そうだ、いい加減覚えよう

 

ということで、朝から少しまとめてみました。

 


よくわからない部分もあるけど、とりあえずこれだけ理解しておけば、Java Silverなら何とかなるハズ

 


■byte、short、int、long
byteの計算例
1bitは2通りの値を表現できるので、8bitは2の8乗(2^8) = 256通り
256通りを正負の数で表すと-128~128と思いきや、0で表現できる分、1を引いて-128~127

byte    8ビット        -2の7乗~2の7乗-1        -128~127
short    16ビット    -2の15乗~2の15乗-1        -32,768~32,767
int        32ビット    -2の31乗~2の31乗-1        -2,147,483,648~2,147,483,647
long    64ビット    -2の63乗~2の63乗-1        -9,223,372,036,854,775,808~9,223,372,036,854,775,807

※Windows10の電卓を起動して、関数電卓モードにして、累乗の計算ボタンで確認!

 


■char
char    16ビット     0~2の16乗-1    0~65535(10進数)    \u0000~\uFFFF(16進数)
※なんで負の数はダメなんでしょうね・・・

 


■float、double

float    32ビット単精度浮動小数点数
    正の値は 1.401298E-45 ~ 3.4028235E+38 
    負の値は -3.4028235E+38 ~ -1.401298E-45

double   64ビット倍精度浮動小数点数
    正の値は 4.94065645841246544E-324 ~ 1.79769313486231570E+308
    負の値は -1.79769313486231570E+308 ~ -4.94065645841246544E-324


そういえば、前から思ってたのですが、『E』ってなんなん?・・・せっかくだから調べてみるか。





あーEって10の乗数のことを指すんだ・・うわー知らなかった・・・いや忘れていただけだきっと!

 1.2E2 → 1.2 * 10^2 → 120
 2.34E-3 → 2.34 * 10^-3 → 0.00234

 


あと、浮動小数点の範囲って何で『正の値はXXXX~XXXX』って書き方なの?

カタカタカタ....


出力内容
fmin = 1.4E-45
fmax = 3.0E38

 

なんだそういうことか・・・小数点を考慮すると正の数の中でも表現できる範囲が絞られるのね

 

 

 

続く・・・!