I am a Computer Science undergraduate and I am currently taking a hardware module that focuses a lot on hardware processors and memory addresses, all of which works in binary. However, the inputs given in the questions are always in hexadecimal, and the methods to compute something are always taught in binary, so it would somewhat require us to constantly switch between binary and hexadecimal back and forth, which I find very tedious and mechanical. Personally I am kind of forced to take a hardware module by my institution, so the only motivation for me to study this module is perhaps the arithmetic beauty behind the computation of other bases, and whether there's a more elegant method out there to make my thinking quicker and sharper. Like how a operation in MIPS involves removing the last 2 digits in binary, which is equivalent to /4 in the hexadecimal representation for most numbers(Pardon if I'm wrong, I'm still relatively new into this concept, that's why for the question).
1)I want to know if there are recommended resources out there to help drill on computational skills on bases other than 10, particularly hexadecimal(Since binary is just operating with 2 numbers and it's just back to square one tedious-ness).
2)Also, please advise me whether it's actually worth it to invest in time to learn how to visualise in hexadecimal well, since there's the other alternative most people are taking to do well in the Mathematical aspect of the module, is to master the conversion from (base 2 to base 10 back and forth), and then (base 2 to base 16 back and forth), which just feels really dry. That being said, I would be quite selective on what I want to learn, like to convert a fairly long decimal number to base 16 directly would require a lot of work since base 16 doesn't come too obvious for me.
Thanks.
Converting between binary and hex is straightforward, as hex is simply "chunking" binary digits into groups of 4 i.e. starting from the right, you just replace each group of 4 binary digits with a single hex digit as follows:
$0\text{b}0000 \rightarrow 0\text{x}0$
$0\text{b}0001 \rightarrow 0\text{x}1$
$\dots$
$0\text{b}1110 \rightarrow 0\text{xE}$
$0\text{b}1111 \rightarrow 0\text{xF}$
so, for example,
$0\text{b}1010 \space 0101 \rightarrow 0\text{xA}5$
If you using hex addresses you will soon become familiar with the decimal equivalents of some common addresses e.g.
$0\text{xFF} = 255$
$0\text{x100} = 256$
$0\text{xFFFF} = 65535$
$0\text{x10000} = 65536$
and you will get a "feel" for the magnitude of numbers in hex e.g. $0\text{x}400$ is about $1000$ (to be exact, it is $1024$).
Maybe you will be asked to convert a number between binary, hex and decimal "by hand" in an exam to demonstrate that you understand the principle of different bases. And you might need to know the "ones' complement" representation of negative integers.
But I wouldn't bother learning to do mental arithmetic in hex - that's what calculators are for.