たっけんの気まぐれ撫子日記 このページをアンテナに追加 RSSフィード

2008年05月09日 金曜日入力された2進数の2の補数を表示するプログラム

入力された2進数の2の補数を表示するプログラムを作りました。

入力できる桁数ですが10桁までです。11桁以上入れるとうまく計算されません。理由は不明です。(予想:記憶できる桁数をえる?)

また、ビット数は入力すると自動的に加算されますが、バックスペースを押しても加算されてしまうので、やはり手動で入力した方がいいですね。このビット数はゼロ埋めを使うときに使用します。

見た感じ、見難いなぁ~というのと、無駄な部分とかありそうなので、の点をまた、改善して以降と思います。


※※※み木デザイナ:ここから※
※ 以下はデザインデータです。
※ コメントを削除しないようにしてください。
※ ---
※母艦とはフォーム##生成
母艦は「メインフォームのクライアントW=456#数値
のクライアントH=40#数値
のタイトル=「2の補数作成」#文字列
※ ---
エディタ1とはエディタ##生成
のX=0#数値
のY=0#数値
のW=128#数値
のH=32#数値
のテキスト=「」#文字列
のキー押した時は~エディタ1__キー押した時#イベント
※ ---
ボタン1とはボタン##生成
のX=192#数値
のY=0#数値
のW=64#数値
のH=32#数値
のテキスト=「計算開始」#文字列
のクリックした時は~ボタン1__クリックした時#イベント
※ ---
値1とはエディタ##生成
のX=256#数値
のY=0#数値
のW=64#数値
のH=32#数値
のテキスト=「0」#文字列
※ ---
値2とはエディタ##生成
のX=320#数値
のY=0#数値
のW=64#数値
のH=32#数値
のテキスト=「0」#文字列
※ ---
値3とはエディタ##生成
のX=384#数値
のY=0#数値
のW=64#数値
のH=32#数値
のテキスト=「0」#文字列
※ ---
ビット数とはエディタ##生成
のX=128#数値
のY=0#数値
のW=64#数値
のH=32#数値
のテキスト=「0」#文字列
※※※み木デザイナ:ここまで※

//各値について
//値0:左からの文字数
//値00:エディタ1の数値文字列化したもの
//値000:左からの文字数
//値0000:ビットを反転させる部分(文字列)
//値1:文字数
//値2:右からの文字数
//値3:スイッチ(繰り返しを終えるときに「0」になる)

●ボタン1__クリックした時
  # ここにイベントを書きます。
  //初期値にする
  値0=0
  値00とは文字列
  値000=0
  値0000=「」
  値0000とは文字列
  //エディタ1を文字列化する
  エディタ1をビット数でゼロ埋めして値00に代入
  値00の文字数を値1に代入
  //最下位ビットからサーチ
  値2=「1」
  値3=「1」
  値3が1以上
   値0=値1+1-値2
   値00で「{値0}」から「1」を文字検索
   もしそれが「0」ならば
    値2=値2+1
   違えば
    値3=0//「1」を発見
  //ビットを反転
  値000=値1-値2
  値00から「{値000}」文字左部分を値0000に代入
  値00の1から「{値000}」文字削除
  値0000の「1」を「2」に置換して値0000に代入
  値0000の「0」を「1」に置換して値0000に代入
  値0000の「2」を「0」に置換して値0000に代入
  値00=「{値0000}{値00}」
  //結果を表示
  値00を言う
  エディタ1=「」
  ビット数=「0」  
  # 字下げした部分がイベント範囲です。

●エディタ1__キー押した時
  # ここにイベントを書きます。
  ビット数=ビット数+1
  # 字下げした部分がイベント範囲です。

トラックバック - http://nadesiko.g.hatena.ne.jp/takken123/20080509