喫茶XRAYトップページ

[▲前のスレッド]

[10479] 符号なし整数型の変数に負の値を代入返信 削除
2016/11/5 (土) 06:16:01 Mr.XRAY
最近掲載した

[01_コマンドプロンプトからコマンドとして実行]
http://mrxray.on.coocan.jp/Delphi/plSamples/506_GetCmdPromptText.htm#01

の中に Windows API の AttachConsole を使用するコードあります.
この関数で使える引数は1つだけで, ATTACH_PARENT_PROCESS です.
MSDN の記事では AttachConsole 関数の引数は符号なしの DWORD です.
しかし,ATTACH_PARENT_PROCESS の値は -1 です.

このような場合は

const
  ATTACH_PARENT_PROCESS = DWORD(-1);

のように設定できます.
前に,符号なし整数のことが喫茶XRY で話題になったことがあります.
そのことを含めて記事にしておきました.

[符号なし整数型と符号付き整数型]
http://mrxray.on.coocan.jp/Delphi/Others/UnsignedInteger.htm

アセンブラで数値を扱った経験があると抵抗なしに理解できるかも知れませんが,
難しい面もあるかも知れません.
一応 [入門者向きと思われる] 記事に分類しておきましたが,適切かどうかは
分かりません.
何故そうなっているのかという内容はありません.

数値の扱いにはこの他,エンディアン(ビッグエンディアンとリトルエンディアン)
がありますが,これは,CT や MRI 等,UNIX 系の OS のデータを
扱う場合に必要になります.
ご存じない方は特に知る必要はありません.
知らなくても業務アプリは開発できます(笑)
こんなのがあるのか... 程度でいいと思います.


[10481] Re:符号なし整数型の変数に負の値を代入返信 削除
2016/11/5 (土) 08:35:15 Mr.XRAY
> [符号なし整数型と符号付き整数型]
> http://mrxray.on.coocan.jp/Delphi/Others/UnsignedInteger.htm


実際のところ,普段は意識する必要はないと思います.
「そう言えばそうだった」ぐらいの確認用と思ってくださいませ.

const
  ATTACH_PARENT_PROCESS = DWORD(-1);

だけでは記事として寂しいので.考えた末の内容でございます.


[10488] [数値型の変数の最大値と最小値] 等を追加返信 削除
2016/11/8 (火) 23:00:34 Mr.XRAY
> [符号なし整数型と符号付き整数型]
> http://mrxray.on.coocan.jp/Delphi/Others/UnsignedInteger.htm


ハイ.また更新です.
[備考] として書いた記事を項目に昇格と,追加です.

[数値型の変数の最大値と最小値]
http://mrxray.on.coocan.jp/Delphi/Others/UnsignedInteger.htm#01

[数値は文字列に変換して表示する]
http://mrxray.on.coocan.jp/Delphi/Others/UnsignedInteger.htm#02

[絶対値が同じ正の整数と負の整数の 16 進数]
2 の補数計算のサンプルです.実用性は全くと言っていいほどありません.
http://mrxray.on.coocan.jp/Delphi/Others/UnsignedInteger.htm#08


上記の内容について私に文句があっても受け付けません.
自分でこらえるか,他の方に愚痴をこぼしてくださいませ.


[10515] Re:符号なし整数型の変数に負の値を代入返信 削除
2016/11/17 (木) 15:51:12 Mr.XRAY
> [符号なし整数型と符号付き整数型]
> http://mrxray.on.coocan.jp/Delphi/Others/UnsignedInteger.htm


えっとですね.ですからね.
メモリ上に符号なしの整数の値が格納されているわけではないんです.
メモリ上の値を「符号付きの整数型の変数に代入」なんです.

くどいようですが追加しておきました.

[データを文字として取得]
http://mrxray.on.coocan.jp/Delphi/Others/UnsignedInteger.htm#03


[10516] Re2:符号なし整数型の変数に負の値を代入返信 削除
2016/11/17 (木) 15:59:57 Mr.XRAY
> メモリ上に符号なしの整数の値が格納されているわけではないんです.
> メモリ上の値を「符号付きの整数型の変数に代入」なんです.


その変数に代入して表示されているわけですから,
これもメモリ上の値と言えば,メモリ上の値ですけど.
画面に表示されているデータは全て,画像も含めて,全て
なんらかの形式で,なにかの「メモリ」にあるわけです.


[10517] Re3:符号なし整数型の変数に負の値を代入返信 削除
2016/11/17 (木) 16:29:36 SO
▼ Mr.XRAYさん

> メモリ上の値を「符号付きの整数型の変数に代入」なんです.

たしか、最上位ビットが立ってるかどうかですかね?


> 画面に表示されているデータは全て,画像も含めて,全て
> なんらかの形式で,なにかの「メモリ」にあるわけです.


ポインタとかスタートアップ・ルーチン(アドレス)とかが分かれば幸せになるかもですね。


[10518] Re4:符号なし整数型の変数に負の値を代入返信 削除
2016/11/17 (木) 18:17:09 Mr.XRAY
▼ SOさん

> ポインタとかスタートアップ・ルーチン(アドレス)とかが分かれば幸せになるかもですね。

それはそうなんですけど.
とにかく,変数に代入できて,計算できればそれで OK だと思うんですが.
変に解釈というか,理解してしまうと,また同じような問題にと.
ムキになってしまう私も私なんですが (^^;

https の人はどうなったんだろう ?
その前はエクセルだったかな ?

サンプルプログラム集をダウンロードして,自分の環境に変更したら ?
そしたらいとも簡単に動作したというやつでした.
掲載してるコードを参考にして作成した,と言っても,
まず,ダウンロードして確認して頂けるとありがたいんですけどね.
そのためにプロジェクトも EXE も同梱していますので.

スミマセン.なんかちょっと続くと...
愚痴ってしまって m(_ _)m


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82