Instruction Sequences Expressing Multiplication Algorithms

For each function on bit strings, its restriction to bit strings of any given length can be computed by a finite instruction sequence that contains only instructions to set and get the content of Boolean registers, forward jump instructions, and a termination instruction. We describe instruction seq...

Full description

Saved in:
Bibliographic Details
Published in:Scientific annals of computer science Vol. 28; no. 1; pp. 39 - 66
Main Authors: Bergstra, J A, Middelburg, C A
Format: Journal Article
Language:English
Published: Iasi Alexandru Ioan Cuza University of Iasi 01.01.2018
Subjects:
ISSN:1843-8121, 2248-2695
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:For each function on bit strings, its restriction to bit strings of any given length can be computed by a finite instruction sequence that contains only instructions to set and get the content of Boolean registers, forward jump instructions, and a termination instruction. We describe instruction sequences of this kind that compute the function on bit strings that models multiplication on natural numbers less than 2N with respect to their binary representation by bit strings of length N, for a fixed but arbitrary N > 0, according to the long multiplication algorithm and the Karatsuba multiplication algorithm. One of the results obtained is that the instruction sequence expressing the former algorithm is longer than the one expressing the latter algorithm only if the length of the bit strings involved is greater than 28. We also go into the use of an instruction sequence with backward jump instructions for expressing the long multiplication algorithm. This leads to an instruction sequence that it is shorter than the other two if the length of the bit strings involved is greater than 2.
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:1843-8121
2248-2695
DOI:10.7561/SACS.2018.1.39