Whether any carries occurred is equivalent to whether any "digits" in the convolution are at least as large as the base. I show an example in base 2. First I take a couple of numbers of three (decimal) digits and get the bit lists.
i1 = IntegerDigits[n1 = 223, 2]
i2 = IntegerDigits[n2 = 412, 2]
(* Out[865]= {1, 1, 0, 1, 1, 1, 1, 1}
Out[866]= {1, 1, 0, 0, 1, 1, 1, 0, 0} *)
Check that convolving, with appropriate parameters, is equivalent to multiplication.
n1*n2
FromDigits[ListConvolve[i1, i2, {1, -1}, 0], 2]
(* Out[870]= 91876
Out[871]= 91876 *)
Now let's see what the convolution contains.
lc = ListConvolve[i1, i2, {1, -1}, 0]
(* Out[872]= {1, 2, 1, 1, 3, 4, 4, 4, 3, 3, 3, 3, 2, 1, 0, 0} *)
There are digits that exceed 1 (the base less 1), so there had to be carries.