In every strongly typed language, (A) value generally is called an explicit cast.
It means fitting the bits value (which has a given type, lets say it has the type B for the sake of the explanation.) into the type A representation of the same bits value.
For example, uint32 and int32 have the same number of bits available to allocate values, but they are different representation of those bits. In other words, the number of different values they can allocate is the same, but they represent different ranges.
Since int32 uses one bit for the sign (+ -) it may only hold values from –2,147,483,648 to 2,147,483,647
Uint has a range of 0 to 4,294,967,295.
EDIT: I just saw this is a C++ thread. I'm most familiar with C#, but the same explanation holds for strongly typed language so...