package Ġle et code . kotlin . bit Manip ulation Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġprintln ( to Hex 2 ( 2 6 )) Ċ } Ċ Ċ /** Ċ Ġ* ĠConversion Ġto Ġhex Ġcan Ġbe Ġdone Ġdirectly Ġfrom Ġbinary . Ċ Ġ* ĠWe Ġcan Ġtake Ġeach Ġset Ġof Ġ 4 Ġbits ( nib ble ) Ġand Ġconvert Ġthem Ġinto Ġhex Ġdirectly . Ċ Ġ* ĠAfter Ġall , Ġunder Ġthe Ġh ood , Ġcomputer Ġtre ats Ġthem Ġ( hex , Ġdecimal ) Ġto Ġbinary . Ċ Ġ* ĠThose ( hex , Ġdecimal ) Ġare Ġsake Ġof Ġhuman Ġrepresentation ( de bat able ** ). Ċ Ġ*/ Ċ fun Ġto Hex ( n : ĠInt ): ĠString Ġ{ ĊĠĠĠ Ġif Ġ( n Ġ== Ġ 0 ) Ġreturn Ġ" 0 " ĊĠĠĠ Ġvar Ġmap Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠ 0 Ġto Ġ" 0 ", Ġ 1 Ġto Ġ" 1 ", Ġ 2 Ġto Ġ" 2 ", Ġ 3 Ġto Ġ" 3 ", ĊĠĠĠĠĠĠĠĠ 4 Ġto Ġ" 4 ", Ġ 5 Ġto Ġ" 5 ", Ġ 6 Ġto Ġ" 6 ", Ġ 7 Ġto Ġ" 7 ", ĊĠĠĠĠĠĠĠĠ 8 Ġto Ġ" 8 ", Ġ 9 Ġto Ġ" 9 ", Ġ 1 0 Ġto Ġ" a ", Ġ 1 1 Ġto Ġ" b ", ĊĠĠĠĠĠĠĠĠ 1 2 Ġto Ġ" c ", Ġ 1 3 Ġto Ġ" d ", Ġ 1 4 Ġto Ġ" e ", Ġ 1 5 Ġto Ġ" f " ĊĠĠĠ Ġ) ĊĠĠĠ Ġvar Ġans Ġ= ĠStringBuilder () ĊĠĠĠ Ġvar Ġn Ġ= Ġn ĊĠĠĠ Ġwhile Ġ( n Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġans . append ( map [ n . and ( 0 x 0 f )]) ĊĠĠĠĠĠĠĠ Ġn Ġ= Ġn . ush r ( 4 ) Ġ// Ġwe Ġwant Ġlogical Ġshift Ġright ( i . e . Ġunsigned ), Ġdon 't Ġwant Ġto Ġpreserve Ġsign Ġbit ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġans . reverse (). toString () Ċ } Ċ Ċ fun Ġto Hex 2 ( n : ĠInt ): ĠString Ġ{ ĊĠĠĠ Ġif Ġ( n Ġ== Ġ 0 ) Ġreturn Ġ" 0 " ĊĠĠĠ Ġvar Ġmap Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠ 0 Ġto Ġ" 0 ", Ġ 1 Ġto Ġ" 1 ", Ġ 2 Ġto Ġ" 2 ", Ġ 3 Ġto Ġ" 3 ", ĊĠĠĠĠĠĠĠĠ 4 Ġto Ġ" 4 ", Ġ 5 Ġto Ġ" 5 ", Ġ 6 Ġto Ġ" 6 ", Ġ 7 Ġto Ġ" 7 ", ĊĠĠĠĠĠĠĠĠ 8 Ġto Ġ" 8 ", Ġ 9 Ġto Ġ" 9 ", Ġ 1 0 Ġto Ġ" a ", Ġ 1 1 Ġto Ġ" b ", ĊĠĠĠĠĠĠĠĠ 1 2 Ġto Ġ" c ", Ġ 1 3 Ġto Ġ" d ", Ġ 1 4 Ġto Ġ" e ", Ġ 1 5 Ġto Ġ" f " ĊĠĠĠ Ġ) ĊĠĠĠ Ġvar Ġans Ġ= ĠStringBuilder () ĊĠĠĠ Ġvar Ġn Ġ= Ġn ĊĠĠĠ Ġwhile Ġ( n Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġans . append ( map [ n . and ( 0 b 1 1 1 1 )]) ĊĠĠĠĠĠĠĠ Ġn Ġ= Ġn . ush r ( 4 ) Ġ// Ġwe Ġwant Ġlogical Ġshift Ġright ( i . e . Ġunsigned ), Ġdon 't Ġwant Ġto Ġpreserve Ġsign Ġbit ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġans . reverse (). toString () Ċ } Ċ