I'm unaware of a truly great basic circuits book, but if you get one, choose one for electrical engineers.  Physicists flip the direction of current flow, which is mathematically equivalent but confusing.  Once you learn basic circuits, Sedra and Smith's "Microelectronic Circuits" is an awesome text for analog transistor design.  Lots of people use Razavi's "Design of Analog CMOS Integrated Circuits" for advanced analog design, but I found the text full of contrived examples that don't teach you practical design principles.  Most people don't go that far (senior-level EE electives), so you'll probably be fine stopping at Sedra and Smith.<p>Hennessy and Patterson's "Computer Architecture: A Quantitative Approach" is a comprehensive look at principles of computer architecture, but if you want to actually design the digital circuits beneath them, you'll want something more specialized.  I used Wakerly's "Digital Design Principles and Practices."  In retrospect, I found it lacking on different types of arithmetic circuits, but it was good enough for me.  Keep in mind that most large-scale modern circuits will be designed using hardware description languages, so you may want to invest in a Verilog or VHDL text to continue your study but only after you have come to understand digital design.  (HDLs require a different type of thinking than sequential programming languages.)  AFAIK, Verilog is more common in industry, whereas VHDL is more common on government and university projects.<p>Good luck!