
「汎整数拡張」の「通常の算術型変換」に
<一方のオペランドが型unsigned long intをもつ場合、他方のオペランドをunsigned long intに型変換する。>
この下に「そうでない場合」が、一方のオペランドが型long intをもつ場合が二つ続きます。
<一方のオペランドが型unsigned intをもつ場合、他方のオペランドをunsigned intに型変換する。>
<>2つの例はlong型やint型よりもunsigned型の上位に位置づけています。
例として
if(-1<1u)は偽になります。
何ゆえにunsigned型の上位性をしているのでしょうか。宜しく願います。
No.1ベストアンサー
- 回答日時:
まず、「汎整数拡張」の「通常の算術型変換」というのは変です。
汎整数拡張または整数拡張は、両方のオペランドが整数型の場合に、通常の算術型変換の一過程として行われます。また、シフト演算子など、通常の算術型変換が行われない場合でも汎整数拡張(または整数拡張)が行われます。
次に、
> 何ゆえにunsigned型の上位性をしているのでしょうか。宜しく願います。
については、想像の域を出ませんが、整数変換順位が同じであれば符号無し整数型のほうが大きな絶対値を扱えるからではないでしょうか?
この回答への補足
if(-1<1u)を例にとりますと、unsigned int型int型を16ビットで考えますと、1は最後のビットが1で後は0になり、-1は全てのビットが1になります。-1をunsigned int型に変換すれば(-1<1u)は偽になるわけですが、そこの所が理屈としてはわかるのですが、c言語という体系で何ゆえこのように規則化されたのかしっくりしていません。
そこのところを宜しく願います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 共用体について コマンドライン引数で値を2つ入力したときに、argv[2]の値をUNI u1 4 2022/04/25 20:34
- C言語・C++・C# C++初心者です stirng 2 2022/09/20 20:43
- C言語・C++・C# ポインタの型変換、どうやるんでしたっけ? 2 2022/03/28 11:00
- その他(教育・科学・学問) ハンドアセンブルの第3オペランドについて 2 2022/05/16 20:09
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# (C言語)めちゃくちゃな値になってしまいます。 5 2022/08/13 11:55
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# 変数のスコープ 5 2023/05/27 17:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ホームページビルダー 文字化け
-
逆コンパイルと逆アセンブルの...
-
家電製品の電力周波数を変える機械
-
C#でのpngからbmpへの変換について
-
スペース %20 に変換するには?
-
旧暦の取得
-
汎整数拡張の通常の算術型変換
-
WindowsAPIで画像フォーマット...
-
線対称の角度を求める
-
.NET 2003 DateTimeからtime_t...
-
libjpegで1bppBMPをjpegに変換...
-
VB.NETとVB6.0でAPIを使う場...
-
scalaのMapとmapValuesについて...
-
ラテン語?について
-
10進数を2進数に変換するプログ...
-
AUのA1000シリーズのHDMLについて
-
wsprintfで実数値を文字列にしたい
-
vb.netの型変換について
-
エクセルVBAの自動変換機能?
-
tex 郵便記号のだしかた
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
エクセルVBAの自動変換機能?
-
マンセル⇔XYZ,RGB変換式或いは...
-
なぜ通信には16進数文字列が使...
-
分を時間に変換するプログラム
-
緯度、経度の 10進法と 60進法...
-
【EXCEL】カナ、ひらがなを英字...
-
10進数をBCDに変換する方法
-
FortranをC++(VC++)へ変換
-
VB 6 を VS 2012に変換するには?
-
シーケンサのCPUはニーモニック...
-
VB6からVB2010への変換について
-
StrConvの使い方について教えて...
-
VB.NETをJavaに変換するツール...
-
Mac 乗数の入力方法
-
VB6で10進数を32進数に変換する...
-
画像ファイル変換(Tiff→PDF)
-
isoをimgに変換したいのですが...
-
C/C++→JAVAに変換するツール
-
UTF8→ShiftJISに変換したいです!
おすすめ情報