2013年11月17日日曜日

開発環境

C実践プログラミング 第3版 (Steve Oualline (著)、 望月 康司 (監訳) (翻訳)、谷口 功 (翻訳)、オライリー・ジャパン)のⅡ部(単純なプログラミング)の11章(ビット演算)、11.8(ビットマップグラフィックス)、11.10(プログラミング実習)、実習11-4をDartで解いてみる。

その他参考書籍

実習11-4.

コード

sample.dart

import 'dart:html';

void main(){
  Element pre = querySelector('#pre0');
  InputElement input = querySelector('#t0');
  RegExp pattern = new RegExp(r'^[-]?\d+$');
  input.onKeyUp.listen((KeyboardEvent event){
    String result = window.navigator.userAgent + '\n';
    String v = input.value;
    if (!pattern.hasMatch(v)){
      result += '整数を入力して下さい。\n';
    } else {
      int n = int.parse(v);
      if (n < 0){
        result += '負の数になっています。\n';
      } else {
        int count = 0;
        int l = n.bitLength;
        int i;
        int m = 1;
        for (i = 0; i < l; i += 1){
          if (m & n != 0){
            count += 1;
          }
          m <<= 1;
        }
        result += 'セットされているビットの数: $count\n';
      }
    }
    pre.text = result;
  });
}













						

0 コメント:

コメントを投稿