190
submitted 11 months ago* (last edited 11 months ago) by andioop@programming.dev to c/programming_horror@programming.dev
you are viewing a single comment's thread
view the rest of the comments
[-] recursive_recursion@programming.dev 9 points 11 months ago* (last edited 11 months ago)

modulo

pseudocode:

if number % 2 == 0
  return "number is even" (is_num_even = 1 or true)
else
  return "number is odd" (is_num_even = 0 or false)

plus you'd want an input validation beforehand

[-] mac@programming.dev 23 points 11 months ago* (last edited 11 months ago)

who needs modulo when you can get less characters out of

while (number > 1) {
  number -= 2;
}
return number;

very efficient

edit: or theres the trusty iseven api

[-] nullPointer@programming.dev 9 points 11 months ago

here is somewhat less:

return (number % 2) == 0;

[-] pivot_root@lemmy.world 10 points 11 months ago
[-] venoft@lemmy.world 8 points 11 months ago* (last edited 11 months ago)

This is the way. Modulo takes too long to compute, bitwise compare should be a lot faster.

return !(number & 0x1);
[-] recursive_recursion@programming.dev 5 points 11 months ago* (last edited 11 months ago)

oh shit yo

this comment chain is pretty awesome, I learned a lot from this thanks!

[-] huf@hexbear.net 4 points 11 months ago

just check the last bit jesus christ, what is it with these expensive modulo operations?!

return !(n&1);

[-] perviouslyiner@lemm.ee 2 points 11 months ago

are the negative numbers all even?

load more comments (12 replies)
this post was submitted on 07 Dec 2023
190 points (90.9% liked)

Programming Horror

1634 readers
17 users here now

Welcome to Programming Horror!

This is a place to share strange or terrible code you come across.

For more general memes about programming there's also Programmer Humor.

Looking for mods. If youre interested in moderating the community feel free to dm @Ategon@programming.dev

Rules

Credits

founded 1 year ago
MODERATORS