開発環境
- OS X Mavericks - Apple (OS)
- Dart Editor (開発環境)
- Dartium | Dart/ Structured web apps (ブラウザ, Dart VM 用 (Chromium with the Dart VM))
- Safari (ブラウザ, JavaScript 用)
- Dart (プログラミング言語)
C実践プログラミング 第3版 (Steve Oualline (著)、 望月 康司 (監訳) (翻訳)、谷口 功 (翻訳)、オライリー・ジャパン)のⅡ部(単純なプログラミング)の11章(ビット演算)、11.8(ビットマップグラフィックス)、11.10(プログラミング実習)、実習11-5をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
実習11-5.
コード
sample.dart
import 'dart:html'; import 'package:fixnum/fixnum.dart' as fixnum; void main(){ Element pre = querySelector('#pre0'); InputElement input = querySelector('#t0'); RegExp pattern = new RegExp(r'^[-]?\d+$'); String result = window.navigator.userAgent + '\n'; result += '8つの4ビット値に分割\n'; result += 'その他の数値\n'; [0, 1, 0xf, 0, -1, -2, -16, -17].forEach((int n){ fixnum.Int32 a = new fixnum.Int32(n); result += '$a: ${split4bit(a)}\n'; }); result += '入力値\n'; pre.text = result; input.onKeyUp.listen((KeyboardEvent event){ String temp = ''; String v = input.value; if (!pattern.hasMatch(v)){ temp += '整数(32ビット符号付き)を入力して下さい。\n'; } else { fixnum.Int32 n = new fixnum.Int32(int.parse(v)); temp += '$n: ${split4bit(n)}\n'; } pre.text = '$result$temp'; }); } List<String> split4bit(fixnum.Int32 n){ fixnum.Int32 m = new fixnum.Int32(0xf); List<String> bits = new List<String>(8); int i; for (i = 7; i >= 0; i -= 1){ bits[i] = (n & m).toRadixString(16); n >>= 4; } return bits; }
0 コメント:
コメントを投稿