K & R : Need Explanation in understanding this C code In the K&amp;R book in chapter 2.9, I am stuck on understanding this sample function getbits()  getbits(x,p,n)   Returns the (right-adjusted) n-bit field of x that begins at position p. Here's the function body  /* getbits: get n bits from from position p */ unsigned getbits(unsigned x, int p, int n) {    return (x &gt;&gt; (p+1-n)) &amp; ~(~0 &lt;&lt; n); }   I am actually not facing problems with the bitwise operators but I can't actually get the question. I am stuck on understanding the question mainly not solving it. Ultimately "What do we need to find in this function".
Need help understanding "getbits()" method in Chapter 2 of K&R C In chapter 2, the section on bitwise operators (section 2.9), I'm having trouble understanding how one of the sample methods works.  Here's the method provided:  unsigned int getbits(unsigned int x, int p, int n) {     return (x &gt;&gt; (p + 1 - n)) &amp; ~(~0 &lt;&lt; n); }   The idea is that, for the given number x, it will return the n bits starting at position p, counting from the right (with the farthest right bit being position 0). Given the following main() method:  int main(void) {     int x = 0xF994, p = 4, n = 3;     int z = getbits(x, p, n);     printf("getbits(%u (%x), %d, %d) = %u (%X)\n", x, x, p, n, z, z);      return 0; }   The output is:     getbits(63892 (f994), 4, 3) = 5 (5)   I get portions of this, but am having trouble with the "big picture," mostly because of the bits (no pun intended) that I don't understand.  The part I'm specifically having issues with is the complements piece: ~(~0 &lt;&lt; n). I think I get the first part, dealing with x; it's this part (and then the mask) that I'm struggling with -- and how it all comes together to actually retrieve those bits. (Which I've verified it is doing, both with code and checking my results using calc.exe -- thank God it has a binary view!)  Any help?
how do i change the color of typeface on photoshop? I'm not a physicist; I'm just curious about what would happen.  According to this video "" (at 2:50):     "Somebody decided to leave the detectors on but just not take any data. [...] So if it was also going to a magnetic tape - there was no magnetic tape loaded. [...] And what do you think happed? They got this. They got the diffraction pattern."   So the act of measuring (beeing concious of the data) destroys wave-form pattern?  If so lets consider these cases:   What if I'd throw a dice after the experiment to decide if I should look at the data or to destroy it? (e.g. look at the data if the number on dice is even) What if the information about measurement would need to travel longer period of time than the particle would need to hit the wall?    To above cases: Would it mean that information travelled instantly - faster than light or that "the particle can look into the future"? Beamer keeping line position constant on itemize I want to have a slide in beamer with itemize exposing new line on each click while at the bottom part of the slide there are some equations. This is my attempt  \begin{frame}   \begin{overprint}{\textwidth}     \leavevmode     \begin{itemize}[&lt;+-&gt;]     \item &lt;1-&gt; Poisson Boltzman equation (PB)     \item &lt;2-&gt; Debye-H\"uckle equation  (DH)     \item &lt;3-&gt; The naive approach - applying (DH) equation to PE     \end{itemize}   \end{overprint}   \begin{tikzpicture}     \node at (0,0) {};         \node&lt;1,2&gt; [text width = 20cm]at (10.5,-1) {$ \nabla^2 \phi =\sum_i \frac{n_i q_i\text{e}^{-q_i \phi/kT}}{4 \pi \epsilon}$};         \node &lt;2&gt; [text width = 20cm]at (10.5,-2) {$q_i \phi/kT \ll 1 \Rightarrow \nabla^2 \phi \simeq \kappa^2 \phi$};         \node &lt;2&gt; [text width = 20cm, font=\footnotesize]at (10.5,-2.5) {$\kappa^2 = \lambda^{-1/2} =  \sum_i \frac{n_i q_i}{4 \pi \epsilon}$};         \node &lt;3&gt; [text width = 20cm] at(10.5,-1) {$\frac{F_{el}}{VkT} = - \left ( \frac{ 4 \pi e^2}{\epsilon kT}     \sum_{i=1} n_i z_i^2 \right )^{3/2} \left ( 12 \pi \right )^{-1}$};   \end{tikzpicture} \end{frame}   However, the itemized line jump up and down between slides. I've tried to use itemize without any environment surrounding it. I've also tried to use overlayarea instead of overprint. How can I keep the line position constant?  I've uploaded a gif animation to display this. On my machine it run really fast and I can't fix this. Hope the problem is understood.   When I run this, I get When I wanted to download Ubuntu 12.10 from ubuntu.com, I was asked to make a donation. However, there is only a PayPal option to make the payment. But I don't use PayPal. Is there any other option to make the payment? Abnormal PREEMPTIVE_OS_AUTHENTICATIONOPS Waits Let $S$ be the set of $3 \times 3$ matrices $\rm A$ with integer entries such that $$\rm AA^{\top} = I_3$$ What is $|S|$ (cardinality of $S$)?   The answer is supposed to be 48. Here is my proof and I wish to know if it is correct.  So, I am going to exploit the fact that the matrix A in a set will be orthognal, so if the matrix is of the form \begin{bmatrix}         a_{11} &amp; a_{12} &amp; a_{13} \\         a_{21} &amp; a_{22} &amp; a_{23} \\         a_{31} &amp; a_{32} &amp; a_{33} \\         \end{bmatrix}  Then each column and row will have exactly one non-zero element which will be +1 or -1. Thus, I have split possibilities for the first column into three cases and counted the possibilities in each case as follows :- $$a_{11} \neq 0$$ or $$ a_{21} \neq 0$$ or $$ a_{31} \neq 0$$  In case 1), we obviously have two possibilities(+1 or -1) so we consider the one where the entry is +1. Now, notice that the moment we choose the next non-zero entry, all the places for non-zero entries will be decided because of the rule 'each column and row will have exactly one non-zero element'. Meaning, if b and c are remaining two non-zero entries, we only have two possibilities left  \begin{bmatrix}         1 &amp; 0 &amp; 0 \\         0 &amp; b &amp; 0 \\         0 &amp; 0 &amp; c \\         \end{bmatrix}  or  \begin{bmatrix}         1 &amp; 0 &amp; 0 \\         0 &amp; 0 &amp; c \\         0 &amp; b &amp; 0 \\         \end{bmatrix}  Using the fact that b and c are simply $$\pm1$$  In each of the above matrices, we get 4 possibilities for each of the matricies. Thus, 8 possibilities in totality. Basically, we are getting 8 possibilities on the assumption that  $$a_{11} = 1$$  Thus, we get 16 possibilities on the case that $$a_{11} \neq 0$$  Following, the second and third cases analogously, we get a total of 16 possibilities in each of them and 48 possibilities in total.    Source :- Tata Institute of Fundamental Research Graduate School Admissions 2016 What does "in spades" mean? What does "in spades" mean, for example in the following sentence:     demand and love are both there in spades ...   I guess "in spades" means "on cards" or "on the table" or exist? What is Skynet's ultimate goal after defeating the resistance? Is it stated in any expanded universe what Skynet's plans were after wiping out the Human race (assuming that was its plan)?  Maybe space travel to colonise different planets or something else entirely? $\sum_{n=1}^\infty \frac{i^n}{n}$ converge? Why didn't the rebels on Hoth use X-Wings to fight AT-ATs? do a good job explaining why the Imperial forces didn't have fighter protection for their ground force on Hoth.  But nothing there explains why the Rebels didn't use X-Wings to easily dispatch the AT-ATs and buy more time. They obviously had them available because they were sending them off with transports and some of these were obviously not sent until after "defending" the base (since a few of the pilots of the X-Wings were the Rogue Squadron pilots fighting in the Battle of Hoth).  This happens in the EU in the book  (in fact, the cover picture shows this scene) with great success and Wedge actually comments, on page 120:     Back then we were in airspeeders - undergunned and overmatched... Not the case this time [referring to being in X-Wings against AT-ATs instead of speeders on Hoth]   This indicates X-Wings can perform in cold conditions - there was snow in this environment as described by Corran Horn after he is shot down. The temperature difference between day-time on Hoth and here is unknown however.  Additionally, the X-Wings were able to destroy the AT-ATs with their laser cannons only - no grappling was required.  I suspect the answer is basically "because that would have been boring to watch on-screen" but it seems there may have been an actual in-universe reason outside of this. How to know if a time series is stationary or non-stationary? Is the sorting algorithm used by .NET's `Array.Sort()` method a stable algorithm? Prove : $$ \text{If } \; x-\lfloor x \rfloor + \frac{1}{x} - \left\lfloor \frac{1}{x} \right\rfloor = 1 \text{, then } x \text{ is irrational.}$$  I think the way to go here is to falsely assume that $x$ is rational, thus having $x=\frac mn$ with $m,n$ integers and go with that, we also know that $x$ with the celling belongs to the integers and that $\frac 1x$ with the celling gotta be a $0$. Still can't prove it. Thank in advance ! Conjectures that have been disproved with extremely large counterexamples? I just came back from my Number Theory course, and during the lecture there was mention of the Collatz Conjecture.  I'm sure that everyone here is familiar with it; it describes an operation on a natural number – $n/2$ if it is even, $3n+1$ if it is odd.  The conjecture states that if this operation is repeated, all numbers will eventually wind up at $1$ (or rather, in an infinite loop of $1-4-2-1-4-2-1$).  I fired up Python and ran a quick test on this for all numbers up to $5.76 \times 10^{18}$ (using the powers of cloud computing and dynamic programming magic).  Which is millions of millions of millions. And all of them eventually ended up at $1$.  Surely I am close to testing every natural number? How many natural numbers could there be?  Surely not much more than millions of millions of millions. (I kid.)  I explained this to my friend, who told me, "Why would numbers suddenly get different at a certain point?  Wouldn't they all be expected to behave the same?"  To which I said, "No, you are wrong!  In fact, I am sure there are many conjectures which have been disproved by counterexamples that are extremely large!"  And he said, "It is my conjecture that there are none! (and if any, they are rare)".  Please help me, smart math people.  Can you provide a counterexample to his conjecture?  Perhaps, more convincingly, several?  I've only managed to find one! (Polya's conjecture). One, out of the many thousands (I presume) of conjectures. It's also one that is hard to explain the finer points to the layman. Are there any more famous or accessible examples? Let $f$ and $g$ be continuous at $ x=a$, with $f(a)<g(a)$. Prove that there exists a neighborhood $I$ of a such that $f(x)<g(x)$ for all $x \in I$. How do I print an IFrame from javascript in Safari/Chrome Can someone please help me out with printing the contents of an IFrame via a javascript call in Safari/Chrome.  This works in firefox:  $('#' + id)[0].focus(); $('#' + id)[0].contentWindow.print();   this works in IE:  window.frames[id].focus(); window.frames[id].print();   But I can't get anything to work in Safari/Chrome.  Thanks  Andrew Let $(X,d)$ be a metric space. How to prove that for any closed $A$ a function $d(x,A)$ is continuous - I know that it is even Lipschitz continuous, but I have a problem with the proof:  $$ |d(x,a) - d(y,a)| \leq d(x,y) $$ for any $a\in A$ - but we cannot just replace it by $|d(x,A) - d(y,A)|\leq d(x,y)$ since the minimum (or infimum in general) can be attained in different points $a\in A$ for $x$ and $y$, so we only have that $$ |d(x,A)-d(y,A)|\leq d(x,y)+\sup\limits_{a,b\in A}d(a,b) $$ which does not mean continuity. Templated check for the existence of a class member function? How do I tail a log file and keep tailing it when the latest one changes date? SELECT DISTINCT on multiple columns Supposing we have a table with four columns (a,b,c,d) of the same data type.  Is it possible to select all distinct values within the data in the columns and return them as a single column or do I have to create a function to achieve this?