26 lines
536 B
Dart
26 lines
536 B
Dart
String binary(int n) {
|
|
if(n<0)
|
|
throw new IllegalArgumentException("negative numbers require 2s complement");
|
|
if(n==0) return "0";
|
|
String res="";
|
|
while(n>0) {
|
|
res=(n%2).toString()+res;
|
|
n=(n/2).toInt();
|
|
}
|
|
return res;
|
|
}
|
|
|
|
main() {
|
|
print(binary(0));
|
|
print(binary(1));
|
|
print(binary(5));
|
|
print(binary(10));
|
|
print(binary(50));
|
|
print(binary(9000));
|
|
print(binary(65535));
|
|
print(binary(0xaa5511ff));
|
|
print(binary(0x123456789abcde));
|
|
// fails due to precision limit
|
|
print(binary(0x123456789abcdef));
|
|
}
|