Primitive types are compiled to JVM primitive values, and the operators on primitive types are compiled to direct invocations of the corresponding JVM bytecodes.The JVM does not support unsigned primitive types. You could solve this if you wanted to invest multiple months of your time in learning the details of the Kotlin compiler internals, the JVM implementation and working together with the Kotlin team to design and implement this feature.
I wish I had the time, because I’d be interesting to learn all those stuff
However for the moment what I would like to have is another class, let’s say Uint, that acts exactly as a normal int, but with some of its operator overloaded, such as the division.
Will it work if I declare it in the same file Primitives.kt and overwrite/declare only those operators?
I can’t offer much, since I lack time and skill (I know almost nothing about compilerish stuff and I just started learning kotlin), but I’d like to give anyway my 2 cent availability for this long-term project
Please start with establishing a thorough understanding of how existing primitive types work in Java and in Kotlin, on the level of the type system and bytecode. After that, please read http://docs.scala-lang.org/sips/completed/value-classes.html and watch Brian Goetz’ talks on Project Valhalla from the JVM Language Summit.