もう、longもintもどっちにしろ環境依存なの?
でも、charは1バイトのままなの?
なんか俺の昔の記憶だと

char 1バイト
short 2バイト
long 4バイト
int 環境依存(Win32だと4バイト)
float 4バイト(浮動小数点)
double 8バイト(浮動小数点)

で、注意するのはintだけだったという記憶があるんだけど
実際はそうじゃないってこと?
環境はWindows固定ということで頼む。