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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■18853  Re[3]: Windowsサービスのアンインストールで失敗
□投稿者/ とっちゃん -(2008/05/16(Fri) 18:22:21)
>
    No18850 (asuka さん) に返信
    >
    > ただ、アンインストール時にサービスを消したいので幸せになるためにMSDEを読み漁りつづけます。TT
    >
    MSDEは、SQL-Server 2000 時代の簡易DBの名前です。
    ま、文脈で通じますが、間違ってたままだといずれ検索で失敗とかなりますよw

    > とりあえずインストーラークラスを用いてUninstall()をオーバーライドしてみたのですが、
    >
    > InstallerClass()とInstall()クラスは呼ばれるものの、Uninstall()だけは何故か呼ばれませんでした。
    >
    Uninstall() のメソッドは登録されていますか?
    手動で設定しないとだめだった気がします。

    それと、ServiceInstaller クラスはInstaller クラスの派生クラスです(間にComponentInstallerクラスが挟まってますが)。
    なので、いろいろ機能拡張されているので、サービスの登録をする場合は必ずそっちを使うようにした方がいいです。
記事No.18815 のレス /過去ログ37より / 関連記事表示
削除チェック/

■21466  Re[2]: データセットでのNull取得について
□投稿者/ たく -(2008/07/02(Wed) 19:02:54)
    返信、ありがとうございます。

    確認方法ですが、
    dataTable.Item(0).NAMEの値を取得したところ、DBNullが返ってきてしまいます。
    う〜ん・・・
記事No.21463 のレス /過去ログ41より / 関連記事表示
削除チェック/

■92974  bitについて
□投稿者/ あい -(2019/11/12(Tue) 13:22:40)

    分類:[.NET 全般] 




    初歩的な質問なのですが、true、falseは何bitなのでしょうか?
    二つしかないので2bitでしょうか?

    初心者のため優しく教えていただけると助かります。
親記事 /過去ログ161より / 関連記事表示
削除チェック/

■92977  Re[1]: bitについて
□投稿者/ Hongliang -(2019/11/12(Tue) 13:42:32)
    真偽は 1 と 0 で表現できるので、最小だと 1bit で表現できます。
    実際にどのサイズの値を使うかは言語や実行環境によります。
    .NET Frameworkの場合、Boolean構造体は 1byte = 8bit 使用する、となっています。
    https://docs.microsoft.com/en-us/dotnet/api/system.boolean?view=netframework-4.8

    質問の背景によっては、また色々話すこともあるかもしれません。
記事No.92974 のレス /過去ログ161より / 関連記事表示
削除チェック/

■92985  Re[2]: bitについて
□投稿者/ あい -(2019/11/12(Tue) 15:01:45)
    No92977 (Hongliang さん) に返信
    > 真偽は 1 と 0 で表現できるので、最小だと 1bit で表現できます。
    > 実際にどのサイズの値を使うかは言語や実行環境によります。
    > .NET Frameworkの場合、Boolean構造体は 1byte = 8bit 使用する、となっています。
    > https://docs.microsoft.com/en-us/dotnet/api/system.boolean?view=netframework-4.8
    >
    > 質問の背景によっては、また色々話すこともあるかもしれません。


    .NET Framework4.0の環境で作成しています。Boolean型 = 8bit = 1byteというのは分かりました。

    例えば横軸で2進数で並べたとき

    32768,16384,8192,4096,2048,1024,512,256 | 128,64,32,16,8,4,2,1

    1だけで収まるという事でしょうか?
記事No.92974 のレス /過去ログ161より / 関連記事表示
削除チェック/

■92987  Re[3]: bitについて
□投稿者/ 魔界の仮面弁士 -(2019/11/12(Tue) 15:25:28)
    No92985 (あい さん) に返信
    > .NET Framework4.0の環境で作成しています。Boolean型 = 8bit = 1byteというのは分かりました。
    
    System.Boolean 構造体そのものは 1 バイトですが、
    API 呼び出しや COM 呼び出しなどにおいては、その段階で
    別のサイズに指し換わることがあります。
    
    
    > 例えば横軸で2進数で並べたとき
    > 32768,16384,8192,4096,2048,1024,512,256 | 128,64,32,16,8,4,2,1
    > 1だけで収まるという事でしょうか?
    
    質問の意図が分からないのですが、
    符号なし 1 バイトなら 0〜255
    符号なし 2 バイトなら 0〜65535 の範囲です。
    
    
    もしも
    > 32768,16384,8192,4096,2048,1024,512,256 | 128,64,32,16,8,4,2,1
    を 16bit の 2 進数表記に変換したら、こうなりますね。
    
     32768 => 1000000000000000
     16384 => 0100000000000000
      8192 => 0010000000000000
      4096 => 0001000000000000
      2048 => 0000100000000000
      1024 => 0000010000000000
       512 => 0000001000000000
       256 => 0000000100000000
       128 => 0000000010000000
        64 => 0000000001000000
        32 => 0000000000100000
        16 => 0000000000010000
         8 => 0000000000001000
         4 => 0000000000000100
         2 => 0000000000000010
         1 => 0000000000000001
記事No.92974 のレス /過去ログ161より / 関連記事表示
削除チェック/

■92976  Re[1]: bitについて
□投稿者/ みい -(2019/11/12(Tue) 13:41:30)
記事No.92974 のレス /過去ログ161より / 関連記事表示
削除チェック/

■92982  Re[1]: bitについて
□投稿者/ 大谷刑部 -(2019/11/12(Tue) 14:18:19)
    No92974 (あい さん) に返信
    > 初歩的な質問なのですが、true、falseは何bitなのでしょうか?
    > 二つしかないので2bitでしょうか?
    論理値としてはTrueとFalseの二つだけなので、概念的には1bitなのでしょうが、
    型としてのbooleanはfalse:0とtrue:それ以外だったと思うので、
    言語によって考え方が異なり、true:割り当てている値が違う。

    「割り当てている」ということは、物理的には整数値の領域が必要で、VBでは整数型の最小(6以前はint,.netはsmallint)の領域を持っているのでしょうね。
    VBでなぜtrue:-1と割り当てているかは知りません。
記事No.92974 のレス /過去ログ161より / 関連記事表示
削除チェック/

■92984  Re[1]: bitについて
□投稿者/ 魔界の仮面弁士 -(2019/11/12(Tue) 15:01:15)
    No92974 (あい さん) に返信
    > 初歩的な質問なのですが、true、falseは何bitなのでしょうか?

    文脈依存です。


    殆どの処理系において、FALSE は「値ゼロ」で定義されます。
    それに対して TRUE は、「FALSE ではない値」の 1 つであるわけですが、
    その内部値が 1 なのか -1 なのかそれ以外なのかは処理系依存ですし、
    それを格納するための bit 数もまちまちです。



    (1) 【VARIANT_BOOL】 … 16 bit ( 2 バイト)

    .NET マーシャラで言えば System.Runtime.InteropServices.UnmanagedType.VariantBool 。
    VBA や VBScript 向けの COM コンポーネントとして設計されていた場合に使われるのがこのタイプ。

    上記 VARIANT の場合、
    二進数で 0000000000000000 が FALSE であるため、ビット反転させた
    二進数で 1111111111111111 を TRUE として扱うようになっています。

    このケースでは「false → 16bit の 0」「true → 16bit の -1」です。



    (2) 【BOOL】 … 32 bit ( 4 バイト)

    .NET マーシャラで言えば System.Runtime.InteropServices.UnmanagedType.Bool 。
    Win32 API で BOOL 型として知られるのがこのタイプ。

    このケースでは「false → 16bit な 0」「true → 16bit な "0以外の任意値"」です。


    (3) 【bool】 … 8 bit ( 1 バイト)

    .NET マーシャラで言えば System.Runtime.InteropServices.UnmanagedType.I1 。
    C スタイルの bool 型として知られるのがこのタイプ。

    このケースでは「false → 8bit な 0」「true → 8bit な 1」です。


    (4) Transact-SQL【bit】 … 1 bit〜

    SQL Server のフィールドで使われる型です。
    このケースでは「false → 1bit な 0」「true → 1bit な 1」です。

    データサイズは 1bit ですが、最低単位はバイトであるため、
    bit 型の列がテーブル内に 1〜8 個の場合は 8bit(1 バイト)が消費されますし、
    bit 型の列がテーブル内に 9〜16 個あれば 16bit(2 バイト)が消費されます。
記事No.92974 のレス /過去ログ161より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -