![]() |
|
||||||||||
|
|||||
|
[+1.3 05.04.09]
|
Надо перевести и 10 системы исчисления в 2
алгоритм таков возмем число 40(dec) аналог в двоичной системе такой 101000(bin) 40 / 2 = 20 остаток 0 20/2 = 10 остаток 0 10/2 = 5 остаток 0 5/2= 2 остаток 1 2/2 = 1 остаток 0 конечный остаток 1 40(dec) = 101000(bin) x = 40;
binM = new Array();
for (; x>2; ) {
bin = x %= 2;
x = Math.floor(x/2);
binM.push(bin);
}
bin.reverse();
trace(bin);
вроде все вероно а не работает зарание блогодарен
__________________
Бойтесь китайцев, компы приносящих! |
|
|||||
|
for (; x>2; ) - это что за конструкция?
__________________
Учиться и, когда придет время, прикладывать усвоенное к делу - разве это не прекрасно! Беседовать с другом, приехавшим издалека, - разве это не радостно! Не быть по достоинству оцененным светом и не таить обиду - разве это не возвышенно! |
|
|||||
|
Регистрация: Feb 2001
Сообщений: 1,893
|
trace((40).toString(2))
|
|
|||||
|
[+1.3 05.04.09]
|
к сожелению toString не подходит
а for(;a>2 это нармальная конструкция ну можеш проверить
__________________
Бойтесь китайцев, компы приносящих! |
|
|||||
|
[+1.3 05.04.09]
|
мне лабу надо сдать
а преподу надо так
__________________
Бойтесь китайцев, компы приносящих! |
|
|||||
|
Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
|
Всем привет!
Я написал следующий код 6 месяцев назад, заметив что AS не представляет никаких встроенных Math.методов, которые переводят 16, 8, 2 в 10 системы исчисления, и 10 системы исчисления в 2 // =========== Conversions Between Systems =========== \\
//
// Sultan Majed Al-Otaibi 2003
//
//============*****************************============\\
var o = Math;
o.fromHexToDec = function(x){
var digs = [0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F'];
var a = x.toUpperCase().split("");
a.reverse();
var i = 0;
var w, result, b;
while(i < a.length){
for(var j=0; j < digs.length;j++){
if(a[i] == digs[j]){
b = true;
w = Math.pow(16, i);
result += j * w;
break;
}else{
b = false;
}
}
if(!b){
trace('Wrong Arguments');
return b;
}
i++;
}
return result;
}
o.fromOctToDec = function(x){
var a = String(x).split('');
a.reverse();
var i = 0;
var w, result;
while(i < a.length){
w = Math.pow(8, i);
result += a[i] * w;
i++;
}
return result;
}
o.fromBinToDec = function(x){
var a = String(x).split('');
if(a.length > 16){
trace('Wrong Arguments');
return false;
}
a.reverse();
var i = 0;
var w, result;
while(i < a.length){
w = Math.pow(2, i);
result += a[i] * w;
i++;
}
return result;
}
o.fromDecToBin = function(x){
if(!x){return 0;}
var result = [];
while(x){
var i = int(x/2);
if(i * 2 == x){
result.unshift(0);
}else{
result.unshift(1);
}
x = i;
}
return result.join('');
}
Удачи ![]()
__________________
время никого не ждёт. Последний раз редактировалось sultan_M; 11.10.2003 в 16:58. |
|
|||||
|
Регистрация: Feb 2001
Сообщений: 1,893
|
Да для лабы, наверно это не подойдет, хотя сама ситуация довольно странная
![]() А вот выше написанное вообще непоняно зачем нужно во флеше ... trace(Math.fromHexToDec("FF")) trace(parseInt("FF",16)) ![]() |
|
|||||
|
"человек"
Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
|
this.num=555;this.dec=this.num;trace("число: "+this.dec+newline+"начнём:");this.bin=new Array()
while(this.dec>0){trace(Math.floor(this.dec)+" / 2 (делим)");if(Math.floor(this.dec)==this.dec){this.bin[this.count++-1]="0"}else{this.bin[this.count++-1]="1";this.dec=Math.floor(this.dec)}this.dec/=2}delete this.count;delete this.dec this.bin.reverse();for(this.count=0;this.count<this.bin.length;this.count++){this.new_bin+=this.bin[this.count]}delete this.count;delete this.bin;trace("результат: "+this.new_bin);delete this.new_bin;trace("проверка: "+Number(this.num).toString(2));delete this.num прикольнулся
__________________
flash it Последний раз редактировалось Techmaker; 11.10.2003 в 19:09. |
|
|||||
|
Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
|
2llllllllll
Спасибо за объясние Я не прочитал о функции parseInt .. Ну что ж .. С выщепересчислённым кодом ( метод fromDecToBin ) стало удобно перевести 10 системы исчисления в 2 ![]()
__________________
время никого не ждёт. |
![]() |
Часовой пояс GMT +4, время: 17:46. |
|
|
« Предыдущая тема | Следующая тема » |
|
|