請教如何將數組里的多個數值轉換成一個變量

2020-02-05 09:03发布

如題,我現在用1個數組(tab1)存放有4個數值,分別存放、千位,百位,十位,個位。現在我要再取出來組成一個變量ss,如何可以達到,我試過用ss=(tab1[1]*1000)+(tab1[2]*100)+(tab1[3]*10)+(tab1[4]);

這樣有一個問題,如果實際數為56,但轉換結果為5600。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
trump8510
1楼-- · 2020-02-07 02:13
TAB[1]*1000+TAB[2]*100+TAB[3]*10+TAB[4],如果TAB[1] =0 ,整体除以1000,如果TAB[2]=0,整体除以100,依次类推就好了。或者用栈结构,后进先出,后进的乘以1000、100、10、1就好了,都可以满足需要。
liusheng7806
2楼-- · 2020-02-07 07:52
typedef union two_word
{
        unsigned long Aword;
        struct
        {
                uchar byte1;
                uchar byte2;
                uchar byte3;
                uchar byte4;
        }byte;
};
union two_word data OUT_counts1;


OUT_counts1.byte.byte1 = OUT_COUNTS[3];
OUT_counts1.byte.byte2 = OUT_COUNTS[2];
OUT_counts1.byte.byte3 = OUT_COUNTS[1];
OUT_counts1.byte.byte4 = OUT_COUNTS[0];
A_DIS_DATA = OUT_counts1.Aword;

一周热门 更多>