this post was submitted on 01 Nov 2023
910 points (98.2% liked)

Lemmy Shitpost

26766 readers
3565 users here now

Welcome to Lemmy Shitpost. Here you can shitpost to your hearts content.

Anything and everything goes. Memes, Jokes, Vents and Banter. Though we still have to comply with lemmy.world instance rules. So behave!


Rules:

1. Be Respectful


Refrain from using harmful language pertaining to a protected characteristic: e.g. race, gender, sexuality, disability or religion.

Refrain from being argumentative when responding or commenting to posts/replies. Personal attacks are not welcome here.

...


2. No Illegal Content


Content that violates the law. Any post/comment found to be in breach of common law will be removed and given to the authorities if required.

That means:

-No promoting violence/threats against any individuals

-No CSA content or Revenge Porn

-No sharing private/personal information (Doxxing)

...


3. No Spam


Posting the same post, no matter the intent is against the rules.

-If you have posted content, please refrain from re-posting said content within this community.

-Do not spam posts with intent to harass, annoy, bully, advertise, scam or harm this community.

-No posting Scams/Advertisements/Phishing Links/IP Grabbers

-No Bots, Bots will be banned from the community.

...


4. No Porn/ExplicitContent


-Do not post explicit content. Lemmy.World is not the instance for NSFW content.

-Do not post Gore or Shock Content.

...


5. No Enciting Harassment,Brigading, Doxxing or Witch Hunts


-Do not Brigade other Communities

-No calls to action against other communities/users within Lemmy or outside of Lemmy.

-No Witch Hunts against users/communities.

-No content that harasses members within or outside of the community.

...


6. NSFW should be behind NSFW tags.


-Content that is NSFW should be behind NSFW tags.

-Content that might be distressing should be kept behind NSFW tags.

...

If you see content that is a breach of the rules, please flag and report the comment and a moderator will take action where they can.


Also check out:

Partnered Communities:

1.Memes

2.Lemmy Review

3.Mildly Infuriating

4.Lemmy Be Wholesome

5.No Stupid Questions

6.You Should Know

7.Comedy Heaven

8.Credible Defense

9.Ten Forward

10.LinuxMemes (Linux themed memes)


Reach out to

All communities included on the sidebar are to be made in compliance with the instance rules. Striker

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 27 points 1 year ago* (last edited 1 year ago) (6 children)

Just in case anyone was looking for a decent way to do it...

if (((number/2) - round(number/2)) == 0) return true;

return false;

Or whatever the rounding function is in your language of choice.

EDIT: removed unnecessary else.

[–] [email protected] 20 points 1 year ago

Modulo operator my dude.

[–] [email protected] 16 points 1 year ago* (last edited 1 year ago)

Every bit aside for the ones bit is even. All you have to do is get the ones bit(the far right) for it being a 1 or 0. Which is the fastest and least amount of code needed.

use bitwise &

// n&1 is true, then odd, or !n&1 is true for even  

 return (!(n & 1));  
[–] [email protected] 11 points 1 year ago (1 children)
[–] [email protected] 5 points 1 year ago
 private bool IsEven(int number){
    return number % 2 ? false : true;
 }
[–] [email protected] 8 points 1 year ago (1 children)

Huh?

return number % 2 == 0

That's the only sane solution.

[–] [email protected] 0 points 1 year ago

Do note how I said “a decent” way, not “the best” way. Get that huh outta here.

[–] [email protected] 5 points 1 year ago* (last edited 1 year ago) (1 children)
number % 2 == 0
and
(number & 0b1) == 0

Are the only sane ways to do this. No need to floor. Although If its C and you can't modulo floats then (number/2 == floor(number/2))

[–] [email protected] 1 points 1 year ago (1 children)

If you are using floats, you really do not want to have an isEven function ...

[–] [email protected] 1 points 1 year ago (1 children)

Whats the alternative a macro? An inline function is perfectly fine for checking if a nunber is even. Compiler will probably optimize it to a single and instruction.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

No. The alternative is to not use a float. Testing if a float is even simply does not make sense.

Even testing two floats for equality rarely makes sense.

What is the correct output of isEven((.2 + .4) ×10)

Hint: (.2 + .4) x 10 != 6

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

It does if it dosen't have a decimal. If it has decimal then it automatically isn't and the function will return false. Are you talking about cases like 0.1 + 0.2 equaling 0.3000000004 because that is just due to the nature of floats and there is nothing a function can do other than use larger floats for more accuracy.

[–] [email protected] 4 points 1 year ago (1 children)
[–] [email protected] 2 points 1 year ago