F
Frederick Gotham
The early Standards of C placed no restriction on what negative number
system could be used by a machine. Eventually, a constraint was imposed
that one of three posibilities were permitted: Sign-magnitude, One's
complement, Two's complement.
C decreed that an unsigned char shall not contain any padding bits. C++
expanded on this to decree that no member of the char family can contain
padding.
Are these changes as a result of technological advances? Were obsolete
allowances such as a padded char phased out to allow for easier
implementation of modern code? And similarly, were more constraints imposed
for the same reason?
Why other constraints to you think could be lifted/imposed as C++
progresses? Will all implementations have to use Two's complement in the
future?
system could be used by a machine. Eventually, a constraint was imposed
that one of three posibilities were permitted: Sign-magnitude, One's
complement, Two's complement.
C decreed that an unsigned char shall not contain any padding bits. C++
expanded on this to decree that no member of the char family can contain
padding.
Are these changes as a result of technological advances? Were obsolete
allowances such as a padded char phased out to allow for easier
implementation of modern code? And similarly, were more constraints imposed
for the same reason?
Why other constraints to you think could be lifted/imposed as C++
progresses? Will all implementations have to use Two's complement in the
future?