C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■90977 / 1階層)  符号あり整数を符号なしにキャスト
□投稿者/ 774RR (686回)-(2019/05/15(Wed) 14:42:12)
Visual C++ ってことは CPU は x86 (x86-64) なので、符号あり数は2の補数システムだから
> unsigned short usA = (unsigned short)sB;
の挙動は
・値の内部表現のビットパターンが変化しない
・元の数が負数のとき、変換後は正の大きい値になる
であって、悪影響はないっす(悪影響の定義次第ですが)

-32768→32768
-2→65534
-1→65535
0→0
1→1
2→2
32767→32767
が意図通りなのならこれで OK

せっかく C++ なんだったら static_cast<unsigned short>(sB) とか。

# オイラんとこでは「型名接頭語」であるシステムハンガリアンは廃止したっす。

編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←符号あり整数を符号なしにキャスト /so →Re[2]: 符号あり整数を符号なしにキャスト /so
 
上記関連ツリー

符号あり整数を符号なしにキャスト / so (19/05/15(Wed) 14:25) #90975
符号あり整数を符号なしにキャスト / 774RR (19/05/15(Wed) 14:42) #90977 ←Now
  └ Re[2]: 符号あり整数を符号なしにキャスト / so (19/05/17(Fri) 13:38) #91014

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信