TypedArrayについて調べているのですが、

例えば、Int8ArrayInt16Array で同じような処理をしていますが、これはどういう風に使い分けるのでしょうか?

要素数2の配列を作成して、0番目に42を格納して取り出す
・Int8Array

var uint8 = new Int8Array(2);
int8[0] = 42;

・Int16Array

var int16 = new Int16Array(2);
int16[0] = 42;

要素一個あたりのバイト数を返す「BYTES_PER_ELEMENT」プロパティは異なりますが、この結果は何に影響するでしょうか?
・容量を節約したいってことですか?

・ 「8 ビット符号付き整数値」「16 ビット符号付き整数値」の違いがよく分からないのですが、数値を扱う際、予めビット計算(か何か)して格納する容量を求めないといけない、ということでしょうか??