Binomial distribution for gender discrimination? I could be on the wrong path, but I'm trying to use binomial distribution to identify gender discrimination and am having issues getting consistent results based on trial size(?)... I think. Small numbers work as expected, large numbers do not.
An example that works: 16 people are hired. 2 are women. What is the chance this happened randomly? (x)=2, (n)=16, (p)=.5. Example below [from R] show what I expected.
pbinom(2, size=16, prob=0.5) 
#0.0021 -> .2% chance that there is no gender discrimination

An example that doesn't work: 1150 people are hired. 350 are women. What is the chance this happened randomly? (x)=350, (n)=1150, (p)=.5. Example below [from R] does not show what I expected.
pbinom(350, size=1150, prob=0.5) 
# 2.388788e-41 -> ?!

Thanks in advance. Any suggestions better approached please!

Bruce's answer is great. I'd like to provide another way of interrogating whether the results you've observed are reasonable. It's easy to look at a p-value and think it's "wrong" with respect to our intuitions about the observed data and our model.
It might help to reframe this by thinking about what data our model would generate under the null hypothesis. As whuber pointed out, gender bias in hiring is a complex topic, so I'm referring here to "number of heads", as in the number of coin flips that come up heads. However in principle the same issues would apply to any binomial model given appropriate assumptions are met.
First, let's simulate what number of heads we get if we flip 16 coins in a row, and repeat that simulation 10,000 times. What's the distribution of results, and where does 2 lie on that distribution?
a <- replicate(10000, rbinom(1, size = 16, prob = 0.5))
hist(a,
    breaks = "FD",
    xlab = "Number of heads",
    main = "Histogram of number of heads when n=16, p=0.5"
)
abline(v = 2, lty = "dashed")


2 is present in our simulated data but at a pretty low frequency. Therefore .2% seems at least in the right ballpark. Bear in mind, we're only doing 10,000 replicates, so there will of course be error.
Now, let's simulate what number of heads we get when simulating 1150 flips, repeat that process 10,000 times, and visualise the distribution along with your observed value of 350:
b <- replicate(10000, rbinom(1, size = 1150, prob = 0.5))
hist(b,
    breaks = "FD",
    xlab = "Number of heads",
    main = "Histogram of number of heads when n=1150, p=0.5"
)
abline(v = 350, lty = "dashed")


Huh. 350 isn't even visible on the distribution unless we manually adjust the x-axis!
## in fact 350 isn't visible unless we set xlim
hist(b, breaks = "FD",
    xlab = "Number of heads", xlim = c(340, max(b) * 1.1),
    main = "Histogram of number of heads when n=1150, p=0.5"
)
abline(v = 350, lty = "dashed")


This shows that for a binomial distribution with $p=0.5$ and $n=1150$, $x=350$ is a really weird result! Therefore an extremely small p-value isn't surprising. I think you would need in the range of 1e40 simulations to observe one value that extreme, in fact...
