Typeset command issue

Hi,
As per my understanding typeset wil lmake a variable constant or readonly and -i option will make a variable integer. But please see the below outputs

typeset -i abc=000001;echo $abc
1
typeset -i abc=0000010;echo $abc
8
typeset -i abc=00000100;echo $abc
64
typeset -i abc=000001000;echo $abc
512
typeset -i abc=0000010001;echo $abc
4096
typeset -i abc=0000010001;echo $abc
4097
typeset -i abc=0000010002;echo $abc
4098
typeset -i abc=0000010003;echo $abc
4099
typeset -i abc=0000010005;echo $abc
4101
typeset -i abc=00000016755;echo $abc
7661
typeset -i abc=16755;echo $abc
16755
uname -a
Linux uatXXXXXX6m7 xxxxxxxxx #1 SMP Wed Mar 28 01:54:56 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux

Can any one please help me to explain why typset behaves like this

The leading 0 indicates that it's an octal number.

How can i avoid treating it as octal. Because i am storing the value to the varaiable from output of someother command like below

var=`grep "trailor" sample|cut -c20-25`
typeset -i abc=$var
$ x=0000008
$ echo $x
0000008
$ y=`echo $x | sed "s/^0*//"`
$ echo $y
8
var=`grep "trailor" sample|cut -c20-25`
int_var=`echo $var | sed "s/^0*//"`
typeset -i abc=$int_var