如果我們想要儲存的資料都「短短的」, 如同今天這篇也短短的 ,一個字組可以同時塞入很多資料,這麼一來,我們可以藉由 CPU 的能力幫助我們快速運算。一個常見的應用是我們可以將一個向量直接塞在一個字組裡面,如此一來,常見的一些運算就可以不用每個維度分開計算。今天的主題便是要與大家分享如何對(被塞在同一個字組裡面的)向量進行加減法!
如果向量 1 的值是 (A1, A2, …, Ak), 向量 2 的值是 (B1, B2, …, Bk) 那兩個向量的和就是 (A1+B1, A2+B2, …, Ak+Bk)。在保證沒有溢位的情況下,直接做字組的加減法,就相當於兩個向量的加減法。以下是這個方法的原型概念圖:
但是直接地計算我們會遇到兩個小問題,在此列出他們可能的解法:
最後圖畫起來會長這樣:
這邊有個重要的小問題:我們要怎從原本的字組把裡面的資料變成空一格的樣子?答案是,除非有特別的硬體支援,否則我們沒辦法輕易作到「散開」這樣的動作。但是,其實我們可以換個方法想:把一個字組拆成兩個字組!留下間隔就好了呀~只需要花兩倍的時間就能達到原本的效果!
明天來介紹更多的向量計算,比方說內積(拖稿一下科科~)