SQL Server Storage sql_variant
The first 2 answers are from the SQL Server Internals Book p.278


0x38 is 56 in decimal. This indicates int in sys.types (system_type_id column)
0x01 is the version number of the sql_variant format (always 1 in SQL Server 2008)
This is the way the literal 1 is always interpreted in SQL Server. e.g. SELECT 1 AS foo INTO NewTable will create a new column of integer datatype. Use an explicit cast if you want it to be treated as a different datatype.
This is part of the product source code. You cannot view the definition.


BTW: If you are looking at other datatypes as well you may encounter some additional bytes between the version number and the column value as follows.


numeric/decimal have 1 byte each for precision and scale.
[n][var]char have 2 bytes for max length and 4 bytes for collation id.
[var]binary have 2 bytes for max length.