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".
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?
Is there a way to force a line break inside a math mode text?  My example:  \[   \underbrace{....}_\text{Some long text that should be multiline} \]   Trying  \text{Some long text that\\ should be multiline}   Didn't do the trick. I recently discovered that my computer is 64-bit. I have backed up my Home folder, and reinstalled Ubuntu. The reinstall wasn't nearly as painful as I thought. There is one thing that I can't quite seem to figure out: how do I get the 64-bit Firefox Beta build? I always get the Beta builds, but I want to take advantage of the 64-bit architecture of my computer.  says that Mozilla has come out with a 64-bit version of Firefox, but I can't seem to find it.  I do understand  of using a 64-bit browser, but I've decided to jump right in and do it anyway. (Flash and Java are already 64-bit, and who cares about Silverlight, since it's not for Linux anyway?)  There's only one issue, and it's a big one: I can't find the 64-bit Beta PPA!!! (I really hate using .tar.gz files, but I'd be willing to do that as long as I could still access Firefox via the Launcher. Oh, speaking of which, I don't understand .tar.gz files. Once, I managed to run one (the Dropbox Beta build,) but I have no idea whatsoever on how to install them: as in, click on the icon and go.) Getting the name of the currently executing method Is there a way to get the name of the currently executing method in Java? What measures does Cognito Forms take to ensure Privacy/ Security Level for Completed Forms/ User Data? Some forms may contain confidential information - even something basic like where a person lives.   What measures do Cognito Forms take to ensure that data stored within its site is secure? Keep the same field headers after joining a table to a shapefile in QGIS I noticed that after joining a table to a shapefile the headers of each fields in the table used for the join are changed by QGIS and they are attributed to a different name.  For instance, I had a shapefile with vegetation_codes and a table with vegetation_codes and veg_definition (these were the headers). After joining the table to the shapefile and also saving the shapefile and creating a new one, the vegetation_classes header was changed into vegetati_1.  Is there a way to keep the original headers?  I am using QGIS Dufour on Windows 7 and the table that I join to the shapefile is CSV (tried with dbf as well and the problem is the same). Grepping through .gz log files Does there exist a magical shell piping which would allow easily to grep through bunch of .gz log files without needing to extract them somewhere?  .gz files are Apache logs, result of log rotation. I'd like to quickly check how often certain URIs are accessed in the past. Modular exponentiation by repeated squaring fake proof of $\forall a. \forall b. a = b \to 1 = 0$ I saw a less formal version of this fake proof that claimed to prove $2=1$ but because it assumed $a=b$ from the start I knew why it was wrong. It does seem however that the proof can be used to prove an certain implication I find very odd however. Clearly $\forall a. \forall b. a = b \to 0 = 1$ is false because I could pick $a$ and $b$ to be $1$ and then I would have derived 0 = 1 with no other conditions. So there must be something wrong with this proof that I am not seeing.  proof of $\forall a. \forall b. a = b \to 0 = 1$:  $a = b \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, (assume)\\ a+a=a+b  \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, (x=y \to f(x) = f(y), f(x)=a+x)\\ 2a=a+b \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,  (a+a=2a)\\ 2a-2b=a+b-2b \,\,\, (x=y \to f(x) = f(y), f(x)=x-2b)\\ 2(a-b)=a+b-2b \,\, (distributive)\\ 2(a-b)=a-b \,\,\,\,\,\,\,\,\,\,\,\,\,\, (-b=b-2b)\\ 2=1 \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, (x=y \to f(x) = f(y), f(x) =x/(a-b))\\ 1=0 \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, (x=y \to f(x) = f(y), f(x) =x-1) $  now that I have "proven" $\forall a. \forall b. a = b \to 0 = 1$ I can now pick a and b to be 1.  $ 1 = 1 \to 1=0 \,\,\,\,\,\, (a=1, b=1, above)\\ 1 = 1 \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, (\text{reflexivity})\\ 1=0 \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, (\text{modus ponens}) \\ $  So now it seems that I have managed to derive $1=0$. Clearly I messed up given that no one has been able to show $ZFC$ inconsistent and ostensibly this fits well within the most studied aspects of $ZFC$. Either that or a random guy that makes meme's online found the most profound result in mathematics ever.  So where have I missed the mistake? tarring in parallel An Oceanographer friend at work needs to back up many months worth of data.  She is overwhelmed so I volunteered to do it.  There are hundreds of directories to be backed up and we want to tar/bzip them into files with the same name as the directory.  I can do this easy enough serially - but - I wanted to take advantage of the several hundred cores on my work station.  Question:  using find with the -n -P args or GNU Parallel, how do I tar/bzip the directories, using as many cores as possible while naming the end product:  origonalDirName.tar.bz2?  I have used find to bunzip 100 files simultaneously and it was VERY fast - so this is the way to approach the problem though I do not know how to get each filename to be that of each directory. Removing files with strange names Possible Duplicate:          Somehow I ended up with a file named "-r".  How do I remove it?  rm -r doesn't work.  I tried 'rm -i `ls -a`' to step through the file names, but it didn't prompt me to delete this one.  Edit A very hacky approach was to use python's os.unlink function.  That worked, but I'm curious to hear other ways. Showing inequality for harmonic series. I want to show that $$\log N&lt;\sum_{n=1}^{N}\frac{1}{n}&lt;1+\log N.$$ But I don't know how to show this. Let $f: \Bbb R \to \Bbb R$ be a differentiable function such that $\sup_{x \in \Bbb R}|f'(x)| \lt \infty$. Then (UGC CSIR-2015, DECEMEMBER, MATHEMATICAL SCIENCES)        $f$ maps a bounded sequence to a bounded sequence.   $f$ maps a Cauchy sequence to a Cauchy sequence.   $f$ maps a convergent sequence to a convergent sequence.   $f$ is uniformly continuous.      I choose all of the options as possible answers because the condition $\sup_{x\in \Bbb R}|f'(x)| \lt \infty$ forces $f$ to be uniformly continuous.(Because $f$ becomes Lipschitz and Lipschitz condition implies uniform continuity)  i.e. $\frac {|f(x)-f(y)|}{|x-y|} \le \sup_{x\in \Bbb R}|f'(x)|$ $ \forall x,y$.  Hence all other options are bound to be true.  Am I correct? Proving a three variables inequality How to download packages from a command-line given repository? It is not about the common download &amp; install thing, what apt (aptitude, etc) does, it is a scripted download a package file.  I found the dget tool for this task, which works quite well. But, unfortunately, it doesn't have any option to specify a different repository URL as it is given in the /etc/apt/sources.list.  Is it somehow possible? Actually, a dget-like functionality would be the best, but where I can also specify the repo URL.    P.s. thank you very much the scripts, but I would like to prefer a debian tool for this very simple task. It will be part of a buildscript, for external usage, and any unneeded complexity has intolerable collateral costs. It must be done by a debian tool.  P.s.2. Finally I solved this with updating the system-wide repos, and downloading the packages with dget. Thank you very much the scripts! Question regarding an inequality How to prove that $$ \frac{x_1}{1+x_1^2}+\frac{x_2}{1+x_1^2+x_2^2}+\cdots+\frac{x_n}{1+x_1^2+\cdots+x_n^2}&lt;\sqrt{n} $$ knowing that $(x_n)$ is a positive sequence ? I looked up all kinds of inequalities such AM-GM, Chebyshev, Cauchy-Schwarz, but I couldn't manage to obtain anything useful.. Can anyone help ? Google Image Search using Android I have an image on my smartphone and I want to paste it into Google Image Search to see if I can get similar images.  I can do this by pasting the image using desktop but not using Android ...  Is there such a possibility? How to never "allow this device to access photos and videos"? How could it possible to factorise $x^8-1$ in product of irreducibles in the rings $(\mathbb{Z}/2\mathbb{Z})[x]$ and $(\mathbb{Z}/3\mathbb{Z})[x]$? How could it possible to factorize $x^8-1$ in product of irreducibles in the rings $(\mathbb{Z}/2\mathbb{Z})[x]$ and $(\mathbb{Z}/3\mathbb{Z})[x]$?  I'm having a hard time starting the problem. Could anyone help me at this point? How would I convert a char array to int? How do I take the limit as $n$ goes to $\infty$ of $\frac{\sqrt{n}}{\log(n)}$? How do take this limit:  $$ \lim_{n\to\infty} \frac{\sqrt{n}}{\log(n)}$$  I have a feeling that it is infinity, but I'm not sure how to prove it. Should I use L'Hopitals Rule?