符号属性
ほとんどのアーキテクチャでは、機械語では符号付きと符号なしの型の区別はない。それにもかかわらず、演算装置は通常、符号なし算術のキャリーフラグ(英語版)や符号付きのオーバーフローフラグ(英語版)などで、異なるCPUフラグを設定する。これらの値は、その後の分岐命令や算術命令の際に考慮に入れることができる。 C言語やその派生語では、(キャラクタを含む)全ての整数型に符号属性が実装されている。unsigned修飾子は、型を符号なしに定義する。整数型のデフォルトの符号属性は符号付きであるが、signed修飾子で明示的に符号付きに定義することもできる。整数リテラルはU接尾子で符号なしにすることができる。例えば、32ビットコードで0xFFFFFFFFは-1になるが、0xFFFFFFFFUは4,294,967,295になる。
コンパイラは、符号付きの数値と符号なしの数値を比較したり、一方を他方にキャストしたりするときに警告を発することがよくある。これらは、符号付きと符号なしの値の範囲が異なるため、潜在的に危険な操作である。