Addition of numbers in array

조회 수: 3(최근 30일)
Muhammad Usman
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
Please help me to code.

채택된 답변

Ameer Hamza
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
Steven Lord
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 = 

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

추가 답변(0개)


Community Treasure Hunt

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

Start Hunting!

Translated by