The basic volume type in PulseAudio is the pa_volume_t type. Most of the time, applications will use the aggregated pa_cvolume structure that can store the volume of all channels at once.
Volumes commonly span between muted (0%), and normal (100%). It is possible to set volumes to higher than 100%, but clipping might occur.
Calculations can only be reliably performed on software volumes as it is commonly unknown what scale hardware volumes relate to.
The functions described above are only valid when used with software volumes. Hence it is usually a better idea to treat all volume values as opaque with a range from PA_VOLUME_MUTED (0%) to PA_VOLUME_NORM (100%) and to refrain from any calculations with them.