# Addition of numbers in array

조회 수: 3(최근 30일)
Muhammad Usman 2021년 2월 13일
댓글: Steven Lord 2021년 2월 16일
Lets' say I have 2 vectors:
x = [7 4 6];
y = [1 4 4];
But these are not just vector consider them as A number, i.e., 746 and 144. Now I want to add these numbers (as we do on paper, carry method).
so the answer should be 890.
and want display like:
7 4 6
1 4 4
-----
8 9 0
Thanks

댓글을 달려면 로그인하십시오.

### 채택된 답변

Ameer Hamza 2021년 2월 13일
This is one way
x = [7 4 6];
y = [1 4 4];
z = sscanf(sprintf('%d',x),'%d')+sscanf(sprintf('%d',y),'%d')
##### 댓글 수: 4표시숨기기 이전 댓글 수: 3
Steven Lord 2021년 2월 16일
Your numbers are too large to guarantee that they can be stored exactly as double precision numbers.
x = 96130549848139976391;
rem(x, 10) % ones digit
ans = 8
spacing = eps(x)
spacing = 16384
The spacing between consecutive representable numbers in the vicinity of x is 16,384. It is too large even to be stored exactly as a uint64 number.
y = uint64(96130549848139976391) % Saturated at intmax
y = uint64 18446744073709551615
You will need to store your numbers and perform calculations in arbitrary precision arithmetic, like in Symbolic Math Toolbox.
s = sym('96130549848139976391')
s =
96130549848139976391

댓글을 달려면 로그인하십시오.

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!