【JEREMY65】評論
聚集十進制(Packet decimal)將區域表示法的前四個位元省略,在數字的最後一個數字位元之後加上符號位元來表示正負值。需要INT(N/2)+1個位元組,可以節省N-1-INT(N/2)的空間。(INT(X)表示對X取整數值)以小數點為基準,分向左右每兩位取一組,最左邊的一個位元組,若為空位就補0,而最右邊的符號位元如果沒有數字與它成一對,就將符號位元的左邊補0。範例:(245)10 = 245F = 00100100 01011111 ,共2Byte。(-2345)10 = 02345D = 00000010 00110100 01011101 ,共3Byte。
【Adison Liou】評論
完全看不懂 有誰能好心教導!
【許博泓】評論
先了解何為【聚集十進制(Packet decimal)】以十進位方式表示,以如下的格式儲存:DD DD DD ... DSD:表示數字位元,S:表示符號位元(F為正,D為負)所以-123456789 → 12 34 56 78 9D 共5組,每一對DD或DS為一組元組如果題目改為 -12345678 → 1 23 45 67 8D,此時因為1單獨為一組所以前面要補0,所以會變成→ 01 23 45 67 8D 一樣是5組