アセンブリよりも上位のほとんどの高水準言語では、整数変数には符号付きまたは符号なしの品質があります。C では、データ型としての「unsigned short」。私が考えることができるすべての言語、C ファミリーまたは Pascal から派生した、Go のような新しい言語は、そのようなデータ型を持っています。(署名なし、署名のみを提供しないものもありますが、気にしないでください。)
根底にある真実は、私がこれまでに研究したすべての CPU には、操作に関連付けられた署名、または操作に続く分岐オペコードの選択があるということです。符号付き右シフト オペコードと符号なし右シフト オペコードがあります。1 と 0 は同じ結果になるため、符号付き整数と符号なし整数は同じ算術回路を通過します。キャリー フラグとオーバーフロー フラグが調整されます。違いは、コンパイラが構築されたシンボル テーブルと変数属性に基づいて、キャリー オン ブランチとオーバーフロー ブランチ、または同様の選択を選択したときに発生します。
私はシリコンに近い言語が好きなので、ちょっと興味があります.Cのレベルで、整数値が符号付き/符号なし属性で型付けされていない高レベル言語はありますか?
Javaの >>> 演算子について知っています。これは私が求めていることの小さな例ですが、符号付き/符号なしの異なるデータ型ではなく、異なる演算子を徹底的に使用する言語 (おそらくあいまい) があるかどうか疑問に思っています。
(多少関連するのは、CPU の C または O フラグにアクセスできる言語があるかどうかという問題です。そのため、DIY が可能です。)