Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 10.10.2003, 16:47
opex вне форума Посмотреть профиль Отправить личное сообщение для opex Найти все сообщения от opex
  № 1  
opex
[+1.3 05.04.09]
 
Аватар для opex

Регистрация: Sep 2003
Адрес: Где-то рядом.
Сообщений: 686
Отправить сообщение для opex с помощью ICQ Отправить сообщение для opex с помощью Skype™
По умолчанию из 10 в 2 систему исчисления

Надо перевести и 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);

вроде все вероно а не работает
зарание блогодарен
__________________
Бойтесь китайцев, компы приносящих!

Старый 10.10.2003, 17:00
Dimonius вне форума Посмотреть профиль Отправить личное сообщение для Dimonius Посетить домашнюю страницу Dimonius Найти все сообщения от Dimonius
  № 2  
Dimonius
 
Аватар для Dimonius

Регистрация: Nov 2002
Адрес: Moskow Stone Jungles Статус: Бывший беспредельщик Любит: Гонять нубов в поиск Пользователь: № 0.5
Сообщений: 4,999
Отправить сообщение для Dimonius с помощью ICQ Отправить сообщение для Dimonius с помощью AIM Отправить сообщение для Dimonius с помощью MSN Отправить сообщение для Dimonius с помощью Yahoo
for (; x>2; ) - это что за конструкция?
__________________
Учиться и, когда придет время, прикладывать усвоенное к делу - разве это не прекрасно! Беседовать с другом, приехавшим издалека, - разве это не радостно! Не быть по достоинству оцененным светом и не таить обиду - разве это не возвышенно!

Старый 10.10.2003, 17:02
llllllllll вне форума Посмотреть профиль Отправить личное сообщение для llllllllll Найти все сообщения от llllllllll
  № 3  
llllllllll

Регистрация: Feb 2001
Сообщений: 1,893
trace((40).toString(2))

Старый 10.10.2003, 17:12
opex вне форума Посмотреть профиль Отправить личное сообщение для opex Найти все сообщения от opex
  № 4  
opex
[+1.3 05.04.09]
 
Аватар для opex

Регистрация: Sep 2003
Адрес: Где-то рядом.
Сообщений: 686
Отправить сообщение для opex с помощью ICQ Отправить сообщение для opex с помощью Skype™
к сожелению toString не подходит
а for(;a>2 это нармальная конструкция ну можеш проверить


Код:
for (; i<10; ) {
	trace((40).toString(2));
	i++;
}
__________________
Бойтесь китайцев, компы приносящих!

Старый 10.10.2003, 20:55
Пушистик вне форума Посмотреть профиль Отправить личное сообщение для Пушистик Посетить домашнюю страницу Пушистик Найти все сообщения от Пушистик
  № 5  
Пушистик
Bumble Bee
[+1 05.07.06]
 
Аватар для Пушистик

Регистрация: May 2003
Адрес: Третья планета от Солнца
Сообщений: 1,254
Отправить сообщение для Пушистик с помощью ICQ
Dimonius, эт можно обяснить типа тем, что i не задана и Flash распознает как как false(false=0)...

opex, а чем тя не устраивает toString(2)?
__________________
Portfolio

Старый 11.10.2003, 00:54
opex вне форума Посмотреть профиль Отправить личное сообщение для opex Найти все сообщения от opex
  № 6  
opex
[+1.3 05.04.09]
 
Аватар для opex

Регистрация: Sep 2003
Адрес: Где-то рядом.
Сообщений: 686
Отправить сообщение для opex с помощью ICQ Отправить сообщение для opex с помощью Skype™
мне лабу надо сдать
а преподу надо так
__________________
Бойтесь китайцев, компы приносящих!

Старый 11.10.2003, 16:56
sultan_M вне форума Посмотреть профиль Отправить личное сообщение для sultan_M Найти все сообщения от sultan_M
  № 7  
sultan_M

Регистрация: 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('');
}
Теперь попробуйте писать например:
Код:
trace(Math.fromDecToBin(8)); // результат: 1000
Удачи
__________________
время никого не ждёт.


Последний раз редактировалось sultan_M; 11.10.2003 в 16:58.
Старый 11.10.2003, 17:18
llllllllll вне форума Посмотреть профиль Отправить личное сообщение для llllllllll Найти все сообщения от llllllllll
  № 8  
llllllllll

Регистрация: Feb 2001
Сообщений: 1,893
Да для лабы, наверно это не подойдет, хотя сама ситуация довольно странная

А вот выше написанное вообще непоняно зачем нужно во флеше ...

trace(Math.fromHexToDec("FF"))
trace(parseInt("FF",16))


Старый 11.10.2003, 19:07
Techmaker вне форума Посмотреть профиль Отправить личное сообщение для Techmaker Найти все сообщения от Techmaker
  № 9  
Techmaker
"человек"
 
Аватар для Techmaker

Регистрация: 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.
Старый 11.10.2003, 21:08
sultan_M вне форума Посмотреть профиль Отправить личное сообщение для sultan_M Найти все сообщения от sultan_M
  № 10  
sultan_M

Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
2llllllllll

Спасибо за объясние
Я не прочитал о функции parseInt .. Ну что ж .. С выщепересчислённым кодом ( метод fromDecToBin ) стало удобно перевести 10 системы исчисления в 2
__________________
время никого не ждёт.

Создать новую тему   Часовой пояс GMT +4, время: 17:46.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:46.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.