To the Top
File:  root - text - computing - delphi - 2011 - 06 - tricks.txt
Tags: 计算机, Computing Tips, | English | Home Page | Category: Computing | 740 Views, 24422 Search Bots | 142 Words

Subscribe to Feed Burner | Browse | Archive
Two tricks of making integer computation faster in Delphi.

1. Two integers a and b, to compute a mod b, where b is power of two (two, four, eight ... etc)...

in delphi, you write
result := a mod b;
in this case, to make it faster,
you can write
result := a and (b - 1); // b >= 2, and power of 2.

2. Two integers a (a >= 0) and b, to compute a div b, where b is power of two (two, four, eight ... etc)...

in delphi, you write
result := a div b;
in this case, to make it faster,
you can write
c := fun(b); // fun returns the integer(log2(b))
result := a shr c; // where b >= 2, and power of 2

// returns the left-most significant digit.
function fun(b: integer): integer; assembler; register;
asm
bsr eax, eax
end;

if (a < 0), it can be reworked as result = -((-a) shr c)
Tags: 计算机, Computing Tips, | English | Home Page | Cateogry: Computing | 740 Views, 24422 Search Bots | 142 Words Subscribe to Feed Burner

Related Articles

  1. Sort a Partially Sorted List
  2. Linode Support Ticket 10029540 - Other - Important Notice Regarding Ubuntu 17.10 Image
  3. Plus One
  4. Invert a Binary Tree
  5. Find the non-duplicate number
  6. Algorithm Interview: Permutations of numbers
  7. Daily Interview Problem: Look and Say Sequence
  8. Daily Interview Question: Longest Sequence with Two Unique Numbers
  9. Algorithm Interview Question: Symmetric k-ary Tree
  10. Daily Interview Problem: Get all Values at a Certain Height in a Binary Tree

Comments (0)

Your Email (Domain Part Not Exposed):

Your Comments:

Privately By Mail Colors More Smileys S x y @

Verification (Click Image 2 Refresh):

    Be the first one to comment this page !


Page Edited: May 11 2024 14:36:49 | RSS Subscription
How to Cook a Perfect Steak? | <meta name="robots" content="index, follow">